Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Matlab2016b中设置hsv彩色图像的色调和饱和度值_Matlab - Fatal编程技术网

如何在Matlab2016b中设置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);

。如何在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);

%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: