您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > MATLAB应用于数字图像处理
MATLAB应用于数字图像分析和处理图像处理着重强调在图像之间进行的变换。•虽然人们常用图像处理泛指各种图像技术,但比较狭义的图像处理主要指对图像进行各种加工以改善图像的视觉效果并为自动识别打基础,或对图像进行压缩编码以减少对其所需存储空间或传输时间、传输路径的要求。图像分析则主要是对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息,从而建立对图像的描述。•图像处理是一个从图像到图像的过程•图像分析是一个从图像到数据的过程。MATLAB推出了功能更强大的适应于图像分析和处理的工具箱。利用此工具,我们可以方便地从各个方面对图像的性质进行深入的研究。在MATLAB中可用两种数据类型来存储图像:双精度型和无符号8位整数型,图形命令对不同的数据类型做不同的处理。MATLAB支持的图形文件的格式包括:TIFF、BMP、JPEG、PCX、XWD和HDF;•MATLAB在图像处理中的应用都是由相应的MATLAB函数来实现。•下面讨论如何利用MATLAB处理数字图像。•支持的图像类型包括:索引图像、灰度图像、二进制图像、RGB图像。TIFF:TaggedImageFileFormat处理1、4、8、24位非压缩图像;处理1、4、8、24位packbit压缩图像;文件内容包括:四部分文件头(fileheader)、参数指针表和参数域、参数数据表和图像数据bmp:windowsbitmap1、4、8、24位压缩图像;文件内容包括:文件头、位图信息数据块和图像数据jpeg:jointphotographicexpertsgroup图像压缩格式pcx:windowspaintbrush处理1、4、8、24位图像数据文件内容包括:文件头、图像数据、扩展调色板数据1.数字图像文件操作和图像显示MATLAB提供了图像文件读入函数imread(),可用它来读入BMP、HDF、JPEG、PCX、TIFF、XWD等格式图像文件。•MATLAB还提供了imwrite()图像写出函数。显示图像函数有image()、imshow()等。I=imread('autumn.tif');image(I);2.图像的矩阵表示及基本运算MATLAB在处理图像时,都是以向量、矩阵、数组的形式来表示图像,并进行各种运算。•MATLAB提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性运算。例如,conv2(I,J)实现I、J两幅图像的卷积。impixel()所选图像象素的数据值(用鼠标选取)I=imread('autumn.tif');image(I);[C,R,P]=impixel(I);imcontour()画图像数据轮廓线(等高线、等值线)I=imread('autumn.tif'');J=rgb2gray(I);%RGB转为灰度图imshow(J);%显示灰度图imcontour(J);%画图像等值线imhist()画图像象素直方图I=imread('tire.tif');imhist(I);%灰度图像直方图J=imread('autumn.tif');[Y,map]=rgb2ind(J,256);figure;imhist(Y,map);%索引图像直方图灰度图像直方图索引图像直方图I=imread('autumn.tif');J=rgb2gray(I);imshow(J);figure;imhist(J);3.图像的正交变换。图像正交变换可用于图像数据压缩、特征提取、降噪等。•它包括:Fourier变换、Hadamard变换、离散余弦变换(DCT)等。例如J=dct2(I),实现了图像矩阵I的离散余弦变换。离散余弦变换在JPEG图像压缩算法中,输入图像被分成8X8或16X16的块,对每块计算二维DCT.DCT系数被量化、编码、传输。在读JPEG文件时,解码出DCT系数,计算每块的逆二维DCT,然后将每块放在一张图上。I=imread('autumn.tif');p=rgb2gray(I);imshow(I);J=dct2(p);figure;imshow(log(abs(J)),[]);colormap(jet);colorbar('herz');二维离散余弦变换函数dec2()原始图像离散余弦变换后图像I=imread('autumn.tif');p=rgb2gray(I);J=dct2(p);K=idct2(J);figure;imshow(K,[0255]);二维离散余弦反变换函数idec2()离散余弦反变换后图像4.图像增强MATLAB提供了Gamma校正、中值滤波、对比度调整、直方图均衡、自适应滤波等对图像进行处理。•例如函数imadjust()为对比度调整函数,用于调整灰度值或颜色图。对比度增强Imadjust()调整图像亮度值或彩色图J=imadjust(I,[low_inhigh_in],[low_outhigh_out],gamma)RGB2=imadjust(RGB1,...)I=imread('autumn.tif');J=imadjust(I,[0.30.7],[]);imshow(I),figure,imshow(J)调整图像灰度动态范围灰度动态范围扩展(增强对比度)I=imread('autumn.tif');J=imadjust(I,[.2.30;.6.71],[]);imshow(I),figure,imshow(J)调整彩色图直方图均衡化是图像处理中很重要的研究内容,它通过转换灰度图像亮度值或索引图像的颜色图值来增强图像对比度。图像的灰度统计直方图是1个1-D的离散函数.直方图均衡化直方图均衡化函数histeq()I=imread('autumn.tif');J=rgb2gray(I);imshow(J)K=histeq(J);figure;imshow(K);5.图像平滑用于对由于受噪声干扰而质量降低的图像降噪•低通滤波法、局部平均法、多帧平均法等图像加噪函数imnoise()J=imnoise(I,‘type‘,…)常用噪声类型:gaussian高斯噪声salt&petter盐椒噪声speckle乘法噪声I=imread('autumn.tif');p=rgb2gray(I);J1=imnoise(p,'salt&pepper',0.04);subplot(121),subimage(J1);title('加入盐椒噪声后的图像,密度D=0.04');J2=imnoise(p,'gaussian',0,0.04);subplot(122),subimage(J2);title('加入高斯噪声后的图像,M=0,V=0.04');二维中值滤波medfilt2()I=imread('autumn.tif');p=rgb2gray(I);J1=imnoise(p,'salt&pepper',0.04);subplot(221),subimage(J1);title('加入盐椒噪声后的图像,密度D=0.04');J2=imnoise(p,'gaussian',0,0.04);subplot(222),subimage(J2);title('加入高斯噪声后的图像,M=0,V=0.04');J3=medfilt2(J1);subplot(223),subimage(J3);title('加入盐椒噪声中值滤波后的图像');J4=medfilt2(J2);subplot(224),subimage(J4);title('加入高斯噪声中值滤波后的图像');二维自适应滤波(维纳滤波)函数wiener2()I=imread('autumn.tif');p=rgb2gray(I);J1=imnoise(p,'gaussian',0,0.04);J2=wiener2(J1,[3,4]);J3=medfilt2(J1);subplot(221),subimage(p);title('原始图像');subplot(222),subimage(J1);title('加入高斯噪声后的图像,M=0,V=0.04');subplot(223),subimage(J2);title('自适应滤波后的图像');subplot(224),subimage(J3);title('中值滤波后的图像');6.图像分析edge()灰度图像边缘检测BW=edge(I,’method’,thresh)Method:sobelprewittrobertslogThresh:灵敏度阈值,低于此值被忽略I=imread('autumn.tif');ED1=edge(p,'sobel',0.01);ED2=edge(p,'prewitt',0.01);ED3=edge(p,'sobel',0.08);ED4=edge(p,'prewitt',0.08);subplot(221);imshow(ED1);xlabel('sobel0.01');subplot(222);imshow(ED2);xlabel('prewitt0.01');subplot(223);imshow(ED3);xlabel('sobel0.08');subplot(224);imshow(ED4);xlabel('prewitt0.08');
本文标题:MATLAB应用于数字图像处理
链接地址:https://www.777doc.com/doc-4859232 .html