Re: [問題] 影像處理的問題 三色分離?已回收

看板MATLAB作者 ( 強運逃敗 兩次 !)時間17年前 (2008/11/13 14:08), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/3 (看更多)
我在底下補上各變數的 dimension (size) 相信你看過以後就能了解了 ※ 引述《tyler741023 (阿悟)》之銘言: : clc;clear all;close all; : x=imread('Sunset.jpg') x (87 x 115 x 3 uint8) : u=x(:,:,1); u (87 x 115 uint8) : v=x(:,:,2); v (87 x 115 uint8) : w=x(:,:,3); w (87 x 115 uint8) : imshow(x);figure : imshow(u);figure : imshow(v);figure : imshow(w); : 這是我寫的程式,我想要讓他輸出四張圖,x是原始圖,u是顯示R層的圖, : v是顯示G層的圖,w是顯示B層的圖; : 可是uvw顯示出來的圖的色彩,都是灰色的,為什麼會這樣?是還要加什麼指令嗎? : 比如說顯示R層應該是整片看起來紅紅的,這樣才對吧! : 麻煩幫我看看哪邊有問題,謝謝各位!! 當以 u = x(:,:,1) 對一個三維陣列取值時, u 會變成二維陣列 然後就如 help imshow 裡所說的,被當成灰階輸出了。 如果要保留原本 RGB 的方式,分色分次繪圖的話,就要讓 uvw 都是三維陣列 比較簡單的方式是以 ans 的維度做初始化 u = uint8(zeros(size(x))) ; 之後再將特定群資料填入 u(:,:,1) = x(:,:,1) ; 最後一點小建議,不要低估 Workspace 與 help (manual) 除錯的價值喔 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.194.144

11/13 14:11, , 1F
感謝妳!!我會記取經驗 謝
11/13 14:11, 1F

11/13 14:15, , 2F
不會 ^^; 互相吐嘈求進步囉~
11/13 14:15, 2F
文章代碼(AID): #196yHBJA (MATLAB)
文章代碼(AID): #196yHBJA (MATLAB)