PHOTOSHOP与MATLAB在图像处理上的比较
xxxxxx  xxxxxxx 现在图像处理的软件有很多,其中以美国MathWorks公司推出的MATLAB和Adobe公司推出的PHOTOSHOP应用较为广泛。二者的共同特点是功能强大,易于操作。Photoshop可以进行各种平面图像处理及设计,绘制简单几何图形,进行格式或彩模型转换等。Photoshop广泛用于广告设计、封面设计、彩印刷等许多领域。Matlab经常应用于科学运算领域,matlab的一大特点是可以针对图像的某一特定区域甚至是某一像素进行处理。
Photoshop的主要功能:
①选择、绘图和彩功能
②图像编辑和变换功能
③图层、通道、路径、滤镜等
④支持大量图像格式以及TWAIN32界面
Photoshop中比较常用的工具有选区、羽化、套索(磁性套索)、魔棒、拾器、渐变工具、画笔工具、图层的使用等。
MATLAB具有优势有:
1、编程效率高
2、高效方便的矩阵和数组运算
3、较好的扩充性以及交互性
4、出丰富的图像处理功能;
其缺点有:
1、循环运算效率低,常常一个处理过程需要运行较长时间;
2、封装性较差;
3、与photoshop相比,图像处理时不直观。
实践证明,灰度修改是一种简便而有效的增强图像对比度的方法。在修改图像灰度这一具体应用方面,做photoshop与matlab的相互比较:在利用MATLAB进行灰度修改时,还可以利用直方图变换技术。利用调用系统指令imhist,我们可以看到图像的直方图,通过调用系统指令histeq将直方图均衡化,从而达
到图像增强的目的。
经过直方图均衡化的图像效果见图(2),原图见图(1)。
在PHOTOSHOP中,对图像灰度的修改原理与MATLAB中相同,但是其实现过程更简单效果更明显。通过【文件】—【打开】,导入一副图片到工作区,选择【窗口】菜单,选择【直方图】,便能够看到图像的直方图。在【图像】菜单中选择【调整】,打开子菜单【阶】,调整不同灰度级上的滑块,直至图像达到最好的效果。直方图均衡化的效果见图(3),滑块设置见图(4)。如果选择【自动阶】命令,相当于MATLAB中histeq指令,软件将自动调整图像的灰度。另外,还可以通过调节图像的亮度、对比度,达到增强的效果。见图(5)。
图表1
图表2
图表3
图表4
图表5
图像平滑
图像平滑的主要目的就是去除图像中的噪声和假轮廓,即衰减高频分量,增强低频分量。但是在衰减高频分量的同时,也是损失图像的细节。因此,在图像平滑的操作中,要兼顾两方面的因素。在MATLAB 中可以通过不同的滤波器实现图像平滑。假设是含有噪声或是假轮廓的图像,()y x f ,()()()
()()()()∑∑∑∑
∈∈--=--==A n m A n m n y m x h n m f n y m x f n m h y x h y x f y x g ,,,,,,,*,,式中为低通滤波器的脉冲响应函数;A 为的作用域;m ,n 均为
()y x h
,()y x h ,正整数。上式就是在空间域内的图像平滑的表示。对于空间频率域,有如下的表达式,是的傅里叶变换,()()()v u H v u F v u G ,,,=()v u G ,()y x g ,是的傅里叶变换,是低通滤波器的传递函数。
()v u F ,()y x f ,()v u H ,下面从空间域和频域分别介绍图像的低通滤波。空间域低通滤波空间域的图
matlab 下载像滤波主要有消噪声掩模法、邻域平均法、多图平均法、中值滤波和自适应滤波等。他们共同的特点都是选择适当的模板与待处理的图像在空间域做卷积,其主要区别是选择的模板不同。实现代码如下:clear;close all;I=imread('**.bmp');h=1/16*[1,2,1;2,4,2;1,2,1]; %选择合适的滤波器J=conv2(double(I),h); %利用conv2做卷积 imshow(J,[]); %显示经过滤波处理过的图像消噪声掩模法所用主要有以下几种。
()y x h ,,,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11111111191⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡111121111101⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡121242121161作用域3*3,共有9个像素参与运算,运算结果代替中心像素的灰度值,模板矩阵内元素之和与矩阵前的系数乘积为1,从而保证了处理结果的灰度值在允许的范围内。模板中各个像素所占的比重不同,所起到的滤波效果也不同,中心像素所占的比重越小,平滑作用越强。
邻域平均法的数学表达式是,是
()()∑∈--=S n m n y m x f M y x g ,,1
,()y x f ,待处理的图像,是处理后的图像。式中S 是事先确定的邻域。常见的模()y x g ,板有半径为1和
邻域,其形式分别如下所示,
2
有时为了消除这种模糊效应,需设立一定的阈值,阈值的选择应根据所需图像的信息确定,同时也需要一定的经验。多图像平均法同过削弱随机噪声、提高图像的信噪比来增强图像。M 幅图倍。但是多图像平均法对多幅图像有较高的M 要求,如相对固定的背景、大小等,因此很多情况下不具有实际操作性。中值滤波是抑制噪声的非线性处理方法。对于给定的n 个数值,将它们按照大小有序排列。当n 为奇数时,位于中间位置的数值称为这n 个数值的中值。当n 为偶数时,位于中间位置的两个数的平均值称为这n 个数的中值,对于二维图像而言,中值滤波就是用一个活动的窗口沿图像移动,窗口中心位置的像素灰度用窗口内所有像素灰度的中值来取代。考虑到一般图像在两维方向上均有相关性,因此,活动窗口一般选为二位窗口,如3*3,5*5,7*7等。窗口的形状依据图像的特征而定。一般来说,具有尖顶角几何结构的图像,一般选用十字形窗口,窗口大小最好不要超过图像中最小有小物体的尺寸。否则,中值滤波会丢失细小的几何特征。如果图像中有较多的点、线和尖顶角的细节结构时,最好不要采用中值
滤波。MATLAB 中值滤波可调用medfilt2函数实现。MATLAB 处理处理工具箱中wiener2函数可以实现自适应滤波。wiener2函数根据图像局部方差来调整滤波器的输出。Wiener2函数提供的自适应滤波通常比以上线性滤波(邻域平均法、噪声掩模法等)具有更好的选择性,可以更好的保存图像的边缘和高频细节信息。Winner2函数通常对含有白噪声的图像滤波效果较好,比如含有高斯白噪声的图像。其原理是首先估计出像素的局部矩阵和方差: ,,η是图像()∑∈=
ημ2,12,1MN 1n n n n a ()∑∈-=ημσ2,12222,1MN 1n n n n a 中每个像素的M*N 邻域。对每一个像素利用winner 滤波器估计出其灰度值:
,是图像中噪声的方差。()()()μσ
νσμ--+=2,12,1222n n a n n b 2ν对添加噪声的lena 图像(图6)分别进行邻域平均法、中值滤波和自适应滤波,效果见图(7)图(8)和图(9)。
图表 6
图表
6
图表 7                                图表
8
频率域低通滤波空间域和频域滤波的基础都是卷积定理,该定理可以写成()()()()()()()()v u F v u H y h h y x f v u F v u H y h h y x f ,*,,,;,,,*,⇔⇔其中*表示卷积,双箭头两端表达式组成了傅里叶变换对。根据卷积定理,在空间域需要做卷积的运算,我们可以在频域里让乘以来得到相同的()v u H ,()v u F ,结果。频域滤波的步骤如下所示:
序如下:
clear;
close all;
I=imread('电路板.bmp');
J=double(I);
[m,n]=size(J);
h=1/16*[1,2,1;2,4,2;1,2,1];

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。