读入一幅彩色图像,进行如下图像处理:
1. 在RGB颜色空间中对图像进行平滑滤波(模糊)和锐化滤波(锐化)处理。
1.1. 读入一幅图像。
rgb = imread('flower.jpg');figure; imshow(rgb); title('原图');
1.2. 对读入的图像进行平滑滤波。
% 平滑滤波 r = rgb(:, :, 1); g = rgb(:, :, 2); b = rgb(:, :, 3); m = fspecial('average', [8, 8]); r_filtered = imfilter(r, m);g_filtered = imfilter(g, m); b_filtered = imfilter(b, m); rgb_filtered = cat(3, r_filtered, g_filtered, b_filtered); figure; imshow(rgb_filtered); title('模糊后');imwrite(rgb_filtered, 'RGB彩色空间模糊后.jpg');
平滑滤波后的效果是彩色图像变得模糊,即RGB彩色空间变得模糊。下图为效果图:
1.3. 对读入的图像进行锐化滤波。
% 拉普拉斯。lapMatrix = [1 1 1; 1 -8 1; 1 1 1]; i_tmp = imfilter(rgb, lapMatrix, 'replicate'); i_sharped = imsubtract(rgb, i_tmp); figure; imshow(i_sharped); title('锐化后');imwrite(i_sharped, 'RGB彩色空间锐化后.jpg');
RGB彩色空间被锐化滤波后,图像变得粗糙,下图为效果图:
2. 在HSI空间对图像进行处理。
(2) 在HSI彩色空间中,对H分量图像进行模糊和锐化处理,转换回RGB格式并观察效果
(3) 在HSI彩色空间中,对S分量图像进行模糊和锐化处理,转换回RGB格式并观察效果
(4) 在HSI彩色空间中,对I分量图像进行模糊和锐化处理,转换回RGB格式并观察效果
fc = imread('flower.jpg');h = rgb2hsi(fc);H = h(:, :, 1);S = h(:, :, 2);I = h(:, :, 3);subplot(3, 3, 1); imshow(fc); title('原图');
原图
2.1. 对H分量进行处理。
2.1.1 对HSI彩色空间中的H分量进行平滑滤波
% 平滑滤波。m = fspecial('average', [8, 8]); h_filtered = imfilter(H, m);img_h_filtered = cat(3, h_filtered, S, I); rgb_h_filtered = hsi2rgb(img_h_filtered);subplot(3, 3, 2); imshow(rgb_h_filtered); title('H分量模糊后');imwrite(rgb_h_filtered, 'H分量模糊后.jpg');
进行H分量模糊后,效果图如下所示:
2.1.2. 对HSI彩色空间中的H分量进行锐化滤波
%拉普拉斯lapMatrix=[1 1 1;1 -8 1;1 1 1]; i_tmp=imfilter(H,lapMatrix,'replicate'); H_sharped=imsubtract(H,i_tmp); img_h_sharped = cat(3,H_sharped,S,I); rgb_h_sharped = hsi2rgb(img_h_sharped);subplot(3,3,3); imshow(rgb_h_sharped); title('H分量锐化后');imwrite(rgb_h_sharped, 'H分量锐化后.jpg');
H分量锐化后
subplot(3,3,4);imshow(fc); title('原图');%平滑滤波 m=fspecial('average',[8,8]); s_filtered=imfilter(S,m);img_s_filtered = cat(3,H,s_filtered,I); rgb_s_filtered = hsi2rgb(img_s_filtered);subplot(3,3,5);imshow(rgb_s_filtered); title('S分量模糊后');imwrite(rgb_s_filtered, 'S分量模糊后.jpg');
2.2 对S分量进行处理。
2.2.1 模糊后
2.2.2 S分量进行锐化滤波。
%拉普拉斯lapMatrix=[1 1 1;1 -8 1;1 1 1]; i_tmp=imfilter(S,lapMatrix,'replicate'); s_sharped=imsubtract(S,i_tmp); img_s_sharped = cat(3,H,s_sharped,I); rgb_s_sharped = hsi2rgb(img_s_sharped);subplot(3,3,6); imshow(rgb_s_sharped); title('S分量锐化后');imwrite(rgb_s_sharped, 'S分量锐化后.jpg');
S分量锐化后
subplot(3,3,7);imshow(fc); title('原图');%平滑滤波 m=fspecial('average',[8,8]); i_filtered=imfilter(I,m);img_i_filtered = cat(3,H,S,i_filtered); rgb_i_filtered = hsi2rgb(img_i_filtered);subplot(3,3,8);imshow(rgb_i_filtered); title('I分量模糊后');imwrite(rgb_i_filtered, 'I分量模糊后.jpg');
2.3 对I分量进行处理
2.3.1 平滑滤波
图形变得模糊,下图为效果图:
2.3.2 对I分量进行锐化处理
% 拉普拉斯。lapMatrix = [1 1 1; 1 -8 1; 1 1 1]; i_tmp = imfilter(I, lapMatrix, 'replicate'); i_sharped = imsubtract(I, i_tmp); img_i_sharped = cat(3, H, S, i_sharped); rgb_i_sharped = hsi2rgb(img_i_sharped);subplot(3, 3, 9); imshow(rgb_i_sharped); title('I分量锐化后');imwrite(rgb_i_sharped, 'I分量锐化后.jpg');
I分量锐化后的效果图: