看板 MATLAB 關於我們 聯絡資訊
小弟是matlab新手 最近在使用matlab做影像處理 可是碰到幾個問題 希望有前輩可以解惑 1. 我使用slider來選取我要的圖片 slider值設定在0~25 用callback來讀取position值 position=num2str(get(handles.slider1,'Value')); set(handles.text1,'String',position); i=position i1=i+71 bmp_name=['photo_' num2str(i) '.bmp']; 可是當運行時 i1的值都會變得很奇怪 當position=1時 輸出的i值會變成49 而i1會變成120 此時num2str(i) 會變成 49 50 0三個值 但是如果不做i1的運算 i值都很正常 會在0~25之間 是設定上有問題嗎? 2. 當我將圖片做edge detection後 是否能夠將處理後的圖片邊緣(白色)部分塗上別的顏色 並且將處理後的圖片黑色部分透明化後疊在原來的圖片上? 上色部分目前毫無頭緒 而透明化的部分 我參考網路上的做法 使用alpha X=imread('photo.bmp'); h=imshow(X) F=size(X); G=ones(F(1),F(2)); G(X(:,:,1)<1)=0; set(gca,'visible','off','color','none') set(h,'AlphaData',G) 可是做出來的圖片跟原來一樣 完全沒有效果 疊圖部分 因為我想將處理後的圖片透明化 這樣是否用hold就可以了? 感謝各位前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.16.223
diva:1的問題是出在position是string不是number 因此i也是string 01/07 23:14
diva:string+71會跑出什麼東西 說實在我也不知道 01/07 23:15
diva:2我也想知道圖片怎麼透明化 01/07 23:17
maxgary:所以不能用position做運算嗎? 感謝 01/07 23:38
Raymond0710:1. i = str2num(position) 是不是要改這樣? 01/08 02:21