如何在Matlab2016b中设置hsv彩色图像的色调和饱和度值
。如何在matlab 2016b中设置hsv彩色图像的色调和饱和度值这里的主要问题是,您的范围是在范围如何在Matlab2016b中设置hsv彩色图像的色调和饱和度值,matlab,Matlab,。如何在matlab 2016b中设置hsv彩色图像的色调和饱和度值这里的主要问题是,您的范围是在范围uint8(范围[0,255])中定义的,rgb2hsv结果是范围[0,1]中的两倍 您可以乘以255将范围[0,1]转换为[0,255] 使用min和max功能可以简单地限制范围 以下是一个正在工作的exmaple: RGB_Color = imread('peppers.png'); %Read sample image. hsvImage = rgb2hsv(RGB_Color);
uint8
(范围[0,255])中定义的,rgb2hsv
结果是范围[0,1]中的两倍
您可以乘以255将范围[0,1]转换为[0,255]
使用min
和max
功能可以简单地限制范围
以下是一个正在工作的exmaple:
RGB_Color = imread('peppers.png'); %Read sample image.
hsvImage = rgb2hsv(RGB_Color);
%Convert HSV from range [0, 1] to range [0, 255]
hsvImage = hsvImage*255;
H = hsvImage(:,:,1);
S = hsvImage(:,:,2);
V = hsvImage(:,:,3);
%1. Hue value must be in the range between 10 to 40
H = max(min(H, 40), 10);
%2. saturation value(100–255)
S = max(min(S, 255), 100);
%Convert back to RGB
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
hsvImage = cat(3, H, S, V);
%Convert HSV from range [0, 255] to range [0, 1].
hsvImage = hsvImage / 255;
rgbImage = hsv2rgb(hsvImage);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Display result
figure;imshow(RGB_Color);title('Original RGB image');
figure;imshow(rgbImage);title('RGB after HSV thresholding');
原始RGB图像:HSV阈值化后的RGB: