请给出matlab的代码,可直接复制的。任选一幅彩色图像,实现下面两步要求: 1)将该图像转换成 HSV 图像,请显原图像以及 HSV 图像中的亮度、色度和饱和度三个分量图。 2)分别对 HSV 图像三个分量分别进行增强操作: 对 H 分量加 60,合成 HSV 图像显示,并转换回 RGB 空间再显示效果。 对 S 分量加 0.3,合成 HSV 图像显示,并转换回 RGB 空间再显示效果。 对 I 分量加 0.4,合成 HSV 图像显示,并转换回 RGB 空间再显示效果。
时间: 2024-02-24 09:55:44 浏览: 68
伪彩色:将灰度图像转换为伪彩色图像。-matlab开发
5星 · 资源好评率100%
好的,以下是用MATLAB实现的代码:
```matlab
% 读入一幅彩色图像
img = imread('lena.png');
% 将彩色图像转换成HSV图像
hsv_img = rgb2hsv(img);
% 显示原图像
subplot(2, 2, 1); imshow(img); title('原图像');
% 显示HSV图像中的色相分量
subplot(2, 2, 2); imshow(hsv_img(:, :, 1)); title('色相分量');
% 显示HSV图像中的饱和度分量
subplot(2, 2, 3); imshow(hsv_img(:, :, 2)); title('饱和度分量');
% 显示HSV图像中的亮度分量
subplot(2, 2, 4); imshow(hsv_img(:, :, 3)); title('亮度分量');
% 对HSV图像中的色相分量加60,并转换回RGB空间
hsv_img(:, :, 1) = mod(hsv_img(:, :, 1) + 60/360, 1);
rgb_img_h = hsv2rgb(hsv_img);
% 显示增强后的图像
figure, imshow(rgb_img_h); title('增强后的图像 (色相)');
% 对HSV图像中的饱和度分量加0.3,并转换回RGB空间
hsv_img(:, :, 2) = hsv_img(:, :, 2) + 0.3;
rgb_img_s = hsv2rgb(hsv_img);
% 显示增强后的图像
figure, imshow(rgb_img_s); title('增强后的图像 (饱和度)');
% 对HSV图像中的亮度分量加0.4,并转换回RGB空间
hsv_img(:, :, 3) = hsv_img(:, :, 3) + 0.4;
rgb_img_i = hsv2rgb(hsv_img);
% 显示增强后的图像
figure, imshow(rgb_img_i); title('增强后的图像 (亮度)');
```
注意,这里的`lena.png`是一张示例图片,你需要将其替换成你想要处理的图片的文件名。
阅读全文