Re: [問題] 影像處理的問題 三色分離?已回收
我在底下補上各變數的 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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章