[爆卦]matlab imshow多圖是什麼?優點缺點精華區懶人包

為什麼這篇matlab imshow多圖鄉民發文收入到精華區:因為在matlab imshow多圖這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者chengyi823 (孔雀)看板MATLAB標題[問題] 兩張等尺寸圖片疊合 時間Fri De...


大家好,小弟是新手,

目前在做兩張等尺寸(160*128)圖片疊合,

並因希兩張圖片之RGB值可以改變,作多種不同比例的疊合,

一張為黑白影像,一張為單純綠色(R=B=0)

疊合方式希望選取圖片每點(pixel)的RGB值較高部分,

RGB較低部分則捨去,由此

生成新的圖形,但生成的新圖形,一直與原圖一樣

麻煩各位幫忙解惑了,謝謝

程式碼如下
讀取1&2張圖片
A=imread('s1.bmp');
S1=size(A)

AR=A(:,:,1);
AG=A(:,:,2);
AB=A(:,:,3);
AR1=reshape(AR,1,20480);
AG1=reshape(AG,1,20480);
AB1=reshape(AB,1,20480);
X=imread('20.bmp');
S2=size(X)
XR=X(:,:,1);
XG=X(:,:,2);
XB=X(:,:,3);
XR1=reshape(AR,1,20480);
XG1=reshape(AG,1,20480);
XB1=reshape(AB,1,20480);

決定圖1&圖2RGB

Glevel=[35 35 35 38]; % [R G B G2]
H=128;
L=160;
imshow(reshape(AR1,H,L))
figure;
imshow(reshape(AG1,H,L))
figure;
imshow(reshape(AB1,H,L))
PR=reshape(AR1,H,L);
PG=reshape(AG1,H,L);
PB=reshape(AB1,H,L);
for j=1:size(Glevel,1)
[row2 clm2]=find((((PR==0)+(PG==0)+(PB==0)))<3); % 改字的輝度
for i=1:length(row2);
PR(row2(i),clm2(i))=Glevel(j,1);
PG(row2(i),clm2(i))=Glevel(j,2);
PB(row2(i),clm2(i))=Glevel(j,3);
end
imshow(PG)
[row clm]=find((((PR==0)+(PG==0)+(PB==0)))==3); % 改底的輝度
for i=1:length(row);
PG(row(i),clm(i))=Glevel(j,4);
end
% imshow(PG)
% figure;
% imshow(PR)
% figure;
% imshow(PB)

end

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.41.178
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1418315518.A.348.html
sunev: j=1:size(Glevel,1) ? 12/12 01:21
ntme: 黑白或純綠圖片用一個二維矩陣應該就可以了??然後就只是比 12/12 17:00
ntme: 較相同位置誰的值比較大就選誰 12/12 17:00
ntme: 不太懂為什麼要存成RBG三個矩陣作?還有字跟底的輝度是什麼 12/12 17:01
ntme: 意思阿?? 12/12 17:01
winnie4952: 看程式只對S1做處裡 S2只取出來就沒動了 12/12 18:08
winnie4952: 假如S1是他所謂的RGB 但只有G有顏色 12/12 18:09
winnie4952: 他的字輝度就是G有值的地方R,G,B=35 12/12 18:10
winnie4952: 底輝度就是G沒顏色 就變成38 12/12 18:11
winnie4952: 原PO假如是只要用黑白影像對G比較,留大的值 12/12 18:13
winnie4952: 直接C1=a>=b; C2=b>a; CC=a.*C1+b.*C2; 就可以了 12/12 18:14
chengyi823: 感謝各位解惑 12/12 20:43

你可能也想看看

搜尋相關網站