博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Matlab彩色图像处理
阅读量:6484 次
发布时间:2019-06-23

本文共 2980 字,大约阅读时间需要 9 分钟。

hot3.png

读入一幅彩色图像,进行如下图像处理:

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彩色空间变得模糊。下图为效果图: 

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彩色空间被锐化滤波后,图像变得粗糙,下图为效果图: 

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分量模糊后,效果图如下所示:

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分量锐化后 

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 模糊后 
S分量模糊后

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分量锐化后 

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 平滑滤波

图形变得模糊,下图为效果图: 

I分量模糊后

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分量锐化后的效果图:

I分量锐化后

转载于:https://my.oschina.net/wangsifangyuan/blog/877389

你可能感兴趣的文章
正则表达式分解剖析(一文悟透正则表达式)
查看>>
解决UILable标点符号居中的问题
查看>>
HTML5新特性教程
查看>>
ImageOptim-无损图片压缩Mac版
查看>>
vue-resumer 项目中 element-ui 遇到的 textarea autosize 问题
查看>>
传统运维团队转型应该注意哪些问题?
查看>>
JavaScript函数(二)
查看>>
Airbnb改进部署管道安全性,规范部署顺序
查看>>
腾讯最大规模裁撤中层干部,让贤年轻人
查看>>
蔡超:入门 Go 语言必须跨越的五个思维误区
查看>>
使用Akka Actor和Java 8构建反应式应用
查看>>
curl常用命令详解
查看>>
saltstack 添加计划任务
查看>>
Puppet module命令参数介绍(六)
查看>>
《UNIX网络编程》中第一个timer_server的例子
查看>>
CISCO 路由器(4)
查看>>
网络服务搭建、配置与管理大全(Linux版)
查看>>
Silverlight 5 Beta新特性[4]文本缩进控制
查看>>
springMVC多数据源使用 跨库跨连接
查看>>
Git服务端和客户端安装笔记
查看>>