I want RGB to HSV conversion. What changes are required in the following code?
1 次查看(过去 30 天)
显示 更早的评论
X = im2double(imread('path'));
R = X(:,:,1);
G= X(:,:,2);
B = X(:,:,3);
z = zeros(size(R));
Rimg = cat(3, R, z, z);
Gimg = cat(3, z, G, z);
Bimg = cat(3, z, z, B);
L256 = linspace(0,1,256).';
z256 = zeros(256,1)
mapR= [L256, z256, z256];
mapG= [z256, L256, z256];
mapB = [z256, z256, L256];
figure; image(Rimg); colormap(mapR); colorbar();
figure; image(Gimg); colormap(mapG); colorbar();
figure; image(Bimg); colormap(mapB); colorbar();
4 个评论
Guillaume
2018-9-26
Indeed it is very unclear what the code given has got to do with conversion to HSV which is trivially achieved with rgb2hsv.
The whole code is simply a very complicated way of achieving the same as:
X = im2double(imread('path'));
figure; imshow(X .* cat(3, 1, 0, 0));
figure; imshow(X .* cat(3, 0, 1, 0));
figure; imshow(X .* cat(3, 0, 0, 1));
回答(1 个)
Image Analyst
2018-9-26
Your code doesn't do anything useful at all. Abandon it all, except the imread() and try this:
hsvImage = rgb2hsv(X);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Colormaps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!