文档章节

Matlab彩色图像处理

天蚕宝衣
 天蚕宝衣
发布于 2017/04/12 10:29
字数 824
阅读 124
收藏 0

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

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

© 著作权归作者所有

共有 人打赏支持
天蚕宝衣
粉丝 22
博文 239
码字总数 179054
作品 0
天津
私信 提问
加载中

评论(2)

天蚕宝衣
天蚕宝衣

引用来自“咬尾巴的妖精猫”的评论

大学已经学了这个了
温故知新。
咬尾巴的妖精猫
咬尾巴的妖精猫
大学已经学了这个了
基于MATLAB的RGB转YCBCR色彩空间转换

  使用MATLAB进行图片的处理十分方便,看它的名字就知道了,矩阵实验室(matrix laboratory)。一副图片的像素数据可以看成是一个二维数组一个大矩阵,MTABLAB就是为矩阵运算而生。   MAT...

NingHeChuan
08/22
0
0
数字信号处理、数学形态学、MATLAB GUI实现简单找茬软件

0、简介   这个小作品是我的数字图像处理课程设计,应用基本的图像处理知识与MATLAB的基本脚本编程,实现一个简单的找茬软件。软件实现过程中使用到的找茬游戏图片来源有“梦幻找茬”、“图...

Vitcou
07/11
0
0
图像处理入门教程

  最近有人问我图像处理怎么研究,怎么入门,怎么应用,我竟一时语塞。仔细想想,自己也搞了两年图像方面的研究,做个两个创新项目,发过两篇论文,也算是有点心得,于是总结总结和大家分享...

u013088062
2015/12/29
0
0
【工具使用系列】关于 MATLAB 图像处理工具箱,你需要知道的事

如何使用 MATLAB 图像处理工具箱 MATLAB 图像类型转换 图像文件的读写和查询 图像文件的显示 不同类型的图像显示方法 什么是 MATLAB 图像处理工具箱 图像 图像的概念 图像的分类 图像的表示 ...

AllenMoore
01/28
9
0
基于web的android图像处理示例(Win7+Apache+PHP+Matlab+Android)

本文将介绍C/S模式的图像处理系统。C/S的框架已经在[1]中作了简单的介绍。[2]中介绍了如何搭建基于android和WAMP5的B/S模式的本机测试平台。本系统是在[4]中介绍的基础上开发的,有关图像显示...

长平狐
2012/10/08
407
0

没有更多内容

加载失败,请刷新页面

加载更多

FinderWeb2.4.9 程序员的看日志利器

FinderWeb2.4.9 程序员的看日志利器

吴伟祥
刚刚
0
0
PHP的pcntl进程控制教程一(pcntl_fork)

pcntl 简介 PHP的进程控制支持实现了Unix方式的进程创建, 程序执行, 信号处理以及进程的中断。 进程控制不能被应用在Web服务器环境,当其被用于Web服务环境时可能会带来意外的结果。 这份文档...

hansonwong
5分钟前
0
0
php扩展模块安装

11月21日任务 11.32 php扩展模块装安装 /usr/local/php/bin/php -m //查看模块 下面安装一个redis的模块 cd /usr/local/src/ wget https://codeload.github.com/phpredis/phpredis/zip/deve......

zgxlinux
6分钟前
0
0
windows下使用IDEA创建VUE项目

1.环境搭建 1.1检测是否安装好nodejs和npm 检测命令 node -v npm -v 如果没有安装需要先安装 nodejs的下载路径:https://nodejs.org/en/download/ 在Windows上安装时务必选择全部组件,包括勾...

文文1
13分钟前
1
0
Mybatis插件plugin应用测试,替换查询sql

1、新建插件 import org.apache.ibatis.executor.CachingExecutor;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.executor.parameter.ParameterHandler;im......

jcc_codingBoy
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部