為什麼這篇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