1
我正試圖編寫一個程序,該程序將圖像轉換爲MATLAB中的chromaticity圖像。將圖像轉換爲色度圖像
據我瞭解,實現色度,必須從R,G,B
計算r,g,b
,通過:
所以,我已經做到了這一點(或者至少嘗試過),但它只是一個返回黑色圖像...
這是我的計劃:
img = double(imread('ref_images/foliage.jpg'));
%temp
chrom_Img = zeros(size(img, 1), size(img, 2));
%split channels
R_ = img(:,:,1);
G_ = img(:,:,2);
B_ = img(:,:,3);
%sum RGB channels (R+G+B)
s_RGB = R_ + G_ + B_;
%calc r g b with r = R/sum etc
r_ = R_./s_RGB;
g_ = G_./s_RGB;
b_ = B_./s_RGB;
%assign to chrom_Img
%chrom_Img = cat(3, r_, g_, b_); %also tried this
chrom_Img(:,:,1) = r_;
chrom_Img(:,:,2) = g_;
chrom_Img(:,:,3) = b_;
我缺少或實施我不正確的發生這種情況?
要查看示例圖像,請參閱here。
真棒。感謝發佈。很好的答案。我很高興這很簡單。再次感謝:D – Reanimation