[問題] 兩張等尺寸圖片疊合

看板MATLAB作者 (孔雀)時間9年前 (2014/12/12 00:31), 編輯推噓3(309)
留言12則, 4人參與, 最新討論串1/1
大家好,小弟是新手, 目前在做兩張等尺寸(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

12/12 01:21, , 1F
j=1:size(Glevel,1) ?
12/12 01:21, 1F

12/12 17:00, , 2F
黑白或純綠圖片用一個二維矩陣應該就可以了??然後就只是比
12/12 17:00, 2F

12/12 17:00, , 3F
較相同位置誰的值比較大就選誰
12/12 17:00, 3F

12/12 17:01, , 4F
不太懂為什麼要存成RBG三個矩陣作?還有字跟底的輝度是什麼
12/12 17:01, 4F

12/12 17:01, , 5F
意思阿??
12/12 17:01, 5F

12/12 18:08, , 6F
看程式只對S1做處裡 S2只取出來就沒動了
12/12 18:08, 6F

12/12 18:09, , 7F
假如S1是他所謂的RGB 但只有G有顏色
12/12 18:09, 7F

12/12 18:10, , 8F
他的字輝度就是G有值的地方R,G,B=35
12/12 18:10, 8F

12/12 18:11, , 9F
底輝度就是G沒顏色 就變成38
12/12 18:11, 9F

12/12 18:13, , 10F
原PO假如是只要用黑白影像對G比較,留大的值
12/12 18:13, 10F

12/12 18:14, , 11F
直接C1=a>=b; C2=b>a; CC=a.*C1+b.*C2; 就可以了
12/12 18:14, 11F

12/12 20:43, , 12F
感謝各位解惑
12/12 20:43, 12F
文章代碼(AID): #1KYSR-D8 (MATLAB)
文章代碼(AID): #1KYSR-D8 (MATLAB)