[問題] 有關彩色影像RGB值的請教已回收

看板MATLAB作者 (思考中....)時間16年前 (2009/12/21 00:16), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
請問 我先以 data=imread('bear.jpg'); for i=1:1:sdata(1) %sdata影像大小 for j=1:1:sdata(2) datar(i,j) = data(i,j,1);% 取出 r 值 datag(i,j) = data(i,j,2);% 取出 g 值 datab(i,j) = data(i,j,3);% 取出 b 值 end end 將各自RGB的值分別存入datar, datag, datab 之後再做一些判斷給予datar, datag, datab中的值變過存入datarr, datagg, databb中 例如希望datar中小於100給予50,小於175給予100,小於255給予230…等 pr(1,1)=100.0;pr(2,1)=175.0;pr(3,1)=230.0; pg(1,1)=50.0;pg(2,1)=99.0;pg(3,1)=159.0; pb(1,1)=74.0;pb(2,1)=135.0;pb(3,1)=210.0; for i=1:1:sdata(1) for j=1:1:sdata(2) if datar(i,j) < pr(1,1) datarr(i,j) = ceil(pr(1,1)/2); elseif datar(i,j) > pr(1,1) & datar(i,j) <= pr(2,1) datarr(i,j) = ceil((pr(1,1)+pr(2,1))/2); elseif datar(i,j) > pr(2,1) & datar(i,j) <= pr(3,1) datarr(i,j) = ceil((pr(2,1)+pr(3,1))/2); elseif datar(i,j) > pr(3,1) datarr(i,j) = ceil((pr(3-1,1)+pr(3,1))/2); end end end pg與pb也是像上面判斷 再寫下面的迴圈 for i=1:1:sdata(1) for j=1:1:sdata(2) data1(i,j,1)= datarr(i,j);% 取出 r 值 data1(i,j,2)=datagg(i,j);% 取出 g 值 data1(i,j,3)=databb(i,j);% 取出 b 值 end end 最後 figure,imshow(data1), pixval on; figure,imshow(data), pixval on; 請問為何 data能顯示原始的圖片 而data1所顯示出來的幾乎一片空白, 從pizval on裡得到的值幾乎為(51,13)=1.0000,1.0000,1.000 %座標值(x,y)=R,G,B值 麻煩各位了... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.147.76

12/21 00:26, , 1F
宣告data1 = zeros(sdata(1), sdata(2), 3, 'uint8')
12/21 00:26, 1F

12/21 00:52, , 2F
謝謝o大~~~ 太感謝了~
12/21 00:52, 2F
文章代碼(AID): #1BBat7R_ (MATLAB)
文章代碼(AID): #1BBat7R_ (MATLAB)