基于MATLAB的数字图像处理的彩色图像处理Word文档下载推荐.docx
《基于MATLAB的数字图像处理的彩色图像处理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的数字图像处理的彩色图像处理Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
3边缘检测和图像分割功能………………………………………3
1,4图像变换功能……………………………………………………4
2MATLAB中彩色图像表示……………………………………………4
2.1RGB图像……………………………………………………………4
2.2索引图像……………………………………………………………6
2.3处理RGB和索引图像………………………………………………6
3彩色图像处理…………………………………………………………6
3。
1读入一幅RGB图像,将其分别转换到CMY空间、HSI空间并显示………6
3.2彩色空间滤波………………………………………………………8
参考文献………………………………………………………………9
致谢………………………………………………………………………9
引言
MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。
MathWorks公司针对不同领域的应用,推出了信号处理、控制系统、神经网络、图像处理、小波分析、鲁棒控制、非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信等30多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。
同时,工具箱内的函数源程序也是开放性的,多为M文件,用户可以查看这些文件的代码并进行更改,MALAB支持用户对其函数进行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。
MATLAB中的数字图像是以矩阵形式表示的,这意味着MATLAB强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MATLAB中的数字图像同样适用.本文对MATLAB图像处理工具箱进行探索及应用,实验证明该软件功能强大,语言简洁易学,人机界面友好,工具箱具有丰富的技
术支持并集成了该领域专家的智慧,应用简单而效果良好.
.1。
1MATLAB图像处理工具箱及数字图像处理基本过程简介
数字图像处理工具箱函数包括以下15类:
⑴、图像显示函数;
⑵、图像文件输入、输出函数;
⑶、图像几何操作函数;
⑷、图像像素值及统计函数;
⑸、图像分析函数;
⑹、图像增强函数;
⑺、线性滤波函数;
⑻、二维线性滤波器设计函数;
⑼、图像变换函数;
⑽、图像邻域及块操作函数;
⑾、二值图像操作函数;
⑿、基于区域的图像处理函数;
⒀、颜色图操作函数;
⒁、颜色空间转换函数;
⒂、图像类型和类型转换函数。
MATLAB图像处理工具箱支持四种图像类型,分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。
MATLAB可操作的图像文件包括JPG、HDF、JPEG、PCX、TIFF、XWD等格式.下面就图像处理的基本过程讨论工具箱所实现的常用功能。
1.常用图像操作
图像的读写与显示操作:
用imread()读取图像,imwrite()输出图像,把图像显示于屏幕有imshow(),image()等函数。
imcrop()对图像进行裁剪,图像的插值缩放可用imresize()函数实现,旋转用imrotate()实现。
2。
图像增强功能:
图像增强是数字图像处理过程中常用的一种方法,目的是采用一系列技术去改善图像的视觉效果或将图像转换成一种更适合于人眼观察和机器自动分析的形式。
常用的图像增强方法有以下几种:
1)灰度直方图均衡化
均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚,采用直方图修整可使原图像灰度集中的区域
。
2.
拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰,达到增强目的。
直方图均衡化可用histeq()函数实现.
2)灰度变换法
照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗,为此需要对图像中的每一像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的.这一灰度调整过程可用imadjust()函数实现。
3)平滑与锐化滤波
平滑技术用于平滑图像中的噪声,基本采用在空间域上的求平均值或中值。
或在频域上采取低通滤波,因在灰度连续变化的图像中,我们通常认为与相邻像素灰度相差很大的突变点为噪声点,灰度突变代表了一种高频分量,低通滤波则可以削弱图像的高频成分,平滑了图像信号,但也可能使图像目标区域的边界变得模糊。
而锐化技术采用的是频域上的高通滤波方法,通过增强高频成分减少图像中的模糊,特别是模糊的边缘部分得到了增强,但同时也放大了图像的噪声。
在MATLAB中,各种滤波方法都是在空间域中通过不同的卷积模板即滤波算子实现,可用fspecial()函数创建预定义的滤波算子,然后用filter2()或conv2()函数在实现卷积运算的基础上进行滤波。
边缘检测和图像分割功能
边缘检测是一种重要的区域处理方法,边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。
如果一个像素落在边界上,那么它的邻域将成为一个灰度级变化的带。
对这种变化最有用的两个特征是灰度的变化率和方向。
边缘检测算子可以检查每个像素的邻域并对灰度变化率进行量化,也包括对方向的确定,其中大多数是基于方向导数掩模求卷积的方法。
MATLAB工具箱提供的edge()函数可针对sobel算子、prewitt算子、Roberts算子、log算子和canny算子实现检测边缘的功能.基于灰度的图像分割方法也可以用简单的MATLAB代码实现。
.3.
4。
图像变换功能
图像变换技术是图像处理的重要工具,常运用于图像压缩、滤波、编码和后续的特征抽取或信息分析过程。
MATLAB工具箱提供了常用的变换函数,如fft2()与ifft2()函数分别实现二维快速傅立叶变换与其逆变换,dct2()与idct2()函数实现二维离散余弦变换与其逆变换,Radon(),iradon()函数实现Radon变换与逆Radon变换。
除了以上基本的图像处理功能,MATLAB还提供了如二值图像的膨胀运算dilate()函数、腐蚀运算erode()函数等基于数学形态学与二值图像的操作函数。
MATLAB种彩色图像的表示
2.1RGB图像
rgb_image
=
cat(3,
fR,
fG,
fB)
fR
rgb_image(:
,
:
1);
fG
rgb_image(:
2);
fB
3);
%%
生成RGB立方体
clc
clear
rgbcube(—10,-10,4);
%3个参数表示观看图像视角的点坐标
axis
on;
%坐标轴范围
g
rid
%画图时添加网格线
.4.
title('
RGB立方体1'
);
figure,rgbcube(10,10,4);
%10,10,4是默认的坐标
on;
grid
title(’RGB立方体2'
);
实验结果:
5。
2.2索引图像
索引图像有两个分量,即整数的数据矩阵X和彩色映射矩阵map.
2.3处理RGB和索引图像的函数
rgb_image表示RGB图像,gray_image表示灰度图像,bw表示黑白图像,X表示索引图像的数据矩阵分量。
函数:
dither:
采用“抖动"
从RGB图像创建索引图像
grayslice:
从灰度级亮度图像通过多级阈值创建索引图像
gray2ind:
从灰度级亮度图像创建索引图像
ind2gray:
从索引图像创建灰度级亮度图像
rgb2ind:
从RGB图像创建索引图像
ind2rgb:
从索引图像创建RGB图像
rgb2gray:
从RGB图像创建灰度级图像
3彩色图像处理
1读入一幅RGB图像,将其分别转换到CMY空间、HSI空间并显示。
6.
转换到CMY空间
rgb_I=imread('
peppers.png'
cmy_I=imcomplement(rgb_I);
imshow(rgb_I);
figure;
imshow(cmy_I);
figure;
imshow(h);
imshow(s);
imshow(I);
HSI空间
rgb=imread(’peppers。
png’);
imshow(rgb);
rgb=im2double(rgb);
r=rgb(:
,:
1);
g=rgb(:
,:
,2);
b=rgb(:
:
,3);
I=(r+g+b)/3;
tmp1=min(min(r,g),b);
tmp2=r+g+b;
tmp2(tmp2==0)=eps;
s=1-3。
*tmp1./tmp2;
tmp1=0.5*((r—g)+(r-b));
tmp1=sqrt((r-g)。
^2+(r-b)。
*(g—b));
theta=acos(tmp1。
/(tmp2+eps));
h=theta;
h(b〉g)=2*pi-h(b>
g);
h=h/(2*pi);
h(s==0)=0;
hsi=cat(3,h,s,I);
7。
m=fspecial('
average'
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);
imshow(rgb_filtered);
lapMatrix=[1
1
1;
-8
1];
i_tmp=imfilter(rgb,lapMatrix,'
replicate'
i_sharped=imsubtract(rgb,i_tmp);
imshow(i_sharped);
3,2彩色图像的空间滤波
rgb=imread('
peppers。
,1);
%平滑滤波
g=rgb(:
2);
b=rgb(:
3);
figure;
imshow(r);
imshow(g);
imshow(b);
.8.
参考文献
[1]王新成.高级图像处理技术[M].北京:
中国科学技术出版社.2001,18-90;
[2]Kenneth.R。
Castleman.数字图像处理技术[M]。
北京:
电子工业出版社。
1998,14-16;
[4]冈萨雷斯伍兹数字图像处理(MATLAB版)(第二版)2013;
致谢
感谢王老师的辛勤指导
9.