PHOTOSHOP与MATLAB在图像处理上的比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHOTOSHOP
xxxxxxxxxxxxx
现在图像处理的软件有很多,其中以美国MathWorks公司推出的
MATLAB和Adobe公司推出的PHOTOSHOP应用较为广泛。二者的共同特点是功能强大,易于操作。Photoshop可以进行各种平面图像处理及设计,绘制简单几何图形,进行格式或色彩模型转换等。Photoshop广泛用于广告设计、封面设计、彩色印刷等许多领域。Matlab经常应用于科学运算领域,matlab的一大特点是可以针对图像的某一特定区域甚至是某一像素进行处理。
对添加噪声的lena图像(图6)分别进行邻域平均法、中值滤波和自适应滤波,效果见图(7)图(8)和图(9)。
图表6图表6
图表7图表8
频率域低通滤波
空间域和频域滤波的基础都是卷积定理,该定理可以写成
其中*表示卷积,双箭头两端表达式组成了傅里叶变换对。根据卷积定理,在空间域需要做卷积的运算,我们可以在频域里让 乘以 来得到相同的结果。频域滤波的步骤如下所示:
在利用MATLAB进行灰度修改时,还可以利用直方图变换技术。利用调用系统指令imhist,我们可以看到图像的直方图,通过调用系统指令histeq将直方图均衡化,从而达到图像增强的目的。
经过直方图均衡化的图像效果见图(2),原图见图(1)。
在PHOTOSHOP中,对图像灰度的修改原理与MATLAB中相同,但是其实现过程更简单效果更明显。通过【文件】—【打开】,导入一副图片到工作区,选择【窗口】菜单,选择【直方图】,便能够看到图像的直方图。在【图像】菜单中选择【调整】,打开子菜单【色阶】,调整不同灰度级上的滑块,直至图像达到最好的效果。直方图均衡化的效果见图(3),滑块设置见图(4)。如果选择【自动色阶】命令,相当于MATLAB中histeq指令,软件将自动调整图像的灰度。另外,还可以通过调节图像的亮度、对比度,达到增强的效果。见图(5)。
从空间滤波器获得频域滤波器时,注意在做FFT变换之前,要先对图像和滤波器进行扩展。当图像的大小为m*n,空间滤波器大小为k*l时,扩展后的图像应该是(m+k-1)*(n+l-1)。一个简单的实现程序如下:
clear;
close all;
I=imread('电路板.bmp');
J=double(I);
图表1
图表2
图表3
图表4
图表5
图像平滑
图像平滑的主要目的就是去除图像中的噪声和假轮廓,即衰减高频分量,增强低频分量。但是在衰减高频分量的同时,也是损失图像的细节。因此,在图像平滑的操作中,要兼顾两方面的因素。在MATLAB中可以通过不同的滤波器实现图像平滑。
假设 是含有噪声或是假轮廓的图像,
式中 为低通滤波器的脉冲响应函数;A为 的作用域;m,n均为正整数。上式就是在空间域内的图像平滑的表示。对于空间频率域,有如下的表达式 , 是 的傅里叶变换, 是 的傅里叶变换, 是低通滤波器的传递函数。
Photoshop的主要功能:
①选择、绘图和色彩功能
②图像编辑和变换功能
③图层、通道、路径、滤镜等
④支持大量图像格式以及TWAIN32界面
Photoshop中比较常用的工具有选区、羽化、套索(磁性套索)、魔棒、拾色器、渐变工具、画笔工具、图层的使用等。
MATLAB具有优势有:
1、编程效率高
2、高效方便的矩阵和数组运算
中值滤波是抑制噪声的非线性处理方法。对于给定的n个数值,将它们按照大小有序排列。当n为奇数时,位于中间位置的数值称为这n个数值的中值。当n为偶数时,位于中间位置的两个数的平均值称为这n个数的中值,对于二维图像而言,中值滤波就是用一个活动的窗口沿图像移动,窗口中心位置的像素灰度用窗口内所有像素灰度的中值来取代。考虑到一般图像在两维方向上均有相关性,因此,活动窗口一般选为二位窗口,如3*3,5*5,7*7等。窗口的形状依据图像的特征而定。一般来说,具有尖顶角几何结构的图像,一般选用十字形窗口,窗口大小最好不要超过图像中最小有小物体的尺寸。否则,中值滤波会丢失细小的几何特征。如果图像中有较多的点、线和尖顶角的细节结构时,最好不要采用中值滤波。MATLAB中值滤波可调用medfilt2函数实现。
[m,n]=size(J);
h=1/16*[1,2,1;2,4,2;1,2,1];
[k,l]=size(h);
J(m+k-1,n+l-1)=0;
h(m+k-1,n+l-1)=0;
E=ifft2(fft2(J).*fft2(B))/255;
Subplot(1,2,1), imshow(I),title(‘原图’);
下面从空间域和频域分别介绍图像的低通滤波。
空间域低通滤波
空间域的图像滤波主要有消噪声掩模法、邻域平均法、多图平均法、中值滤波和自适应滤波等。他们共同的特点都是选择适当的模板与待处理的图像在空间域做卷积,其主要区别是选择的模板不同。实现代码如下:
clear;
close all;
I=imread('**.bmp');
MATLAB处理处理工具箱中wiener2函数可以实现自适应滤波。wiener2函数根据图像局部方差来调整滤波器的输出。Wiener2函数提供的自适应滤波通常比以上线性滤波(邻域平均法、噪声掩模法等)具有更好的选择性,可以更好的保存图像的边缘和高频细节信息。Winner2函数通常对含有白色噪声的图像滤波效果较好,比如含有高斯白噪声的图像。其原理是首先估计出像素的局部矩阵和方差: , ,η是图像中每个像素的M*N邻域。对每一个像素利用winner滤波器估计出其灰度值: , 是图像中噪声的方差。
邻域平均法的数学表达式是 , 是待处理的图像, 是处理后的图像。式中S是事先确定的邻域。常见的模板有半径为1和 邻域,其形式分别如下所示,

有时为了消除这种模糊效应,需设立一定的阈值,阈值的选择应根据所需图像的信息确定,同时也需要一定的经验。
多图像平均法同过削弱随机噪声、提高图像的信噪比来增强图像。M幅图像平均后的信噪比是单幅图像的 倍。但是多图像平均法对多幅图像有较高的要求,如相对固定的背景、大小等,因此很多情况下不具有实际操作性。
h=1/16*[1,2,1;2,4,2;1,2,1]; %选择合适的滤波器
J=conv2(double(I),h); %利用conv2做卷积
imshow(J,[]); %显示经过滤波处理过的图像
消噪声掩模法所用 主要有以下几种。
, ,
作用域3*3,共有9个像素参与运算,运算结果代替中心像素的灰度值,模板矩阵内元素之和与矩阵前的系数乘积为1,从而保证了处理结果的灰度值在允许的范围内。模板中各个像素所占的比重不同,所起到的滤波效果也不同,中心像素所占的比重越小,平滑作用越强。
Subplot(1,2,2), imshow(E,[]),title(‘处理图’);
我们也可以在频域中直接生成滤波器。首先,以输入图像 大小的2倍,建立二维直角坐标系的频率矩形,并求出任意点到指定点的距离。由于FFT的计算假设变换的原点在频率矩阵的左上角,故此处距离的计算的原点与FFT计算的原点保持一致。将建立的坐标系的参数带入低通滤波器,即可得到 。其次,对图像进行扩展,使其大小与 大小保持一致,得到 ,接着,在频域内将 与 相乘。最后,对上面的乘积作傅里叶逆变换,剪裁出原图像的大小,得到最终频域滤波的结果。
3、较好的扩充性以及交互性
4、出色丰Leabharlann Baidu的图像处理功能;
其缺点有:
1、循环运算效率低,常常一个处理过程需要运行较长时间;
2、封装性较差;
3、与photoshop相比,图像处理时不直观。
实践证明,灰度修改是一种简便而有效的增强图像对比度的方法。在修改图像灰度这一具体应用方面,做photoshop与matlab的相互比较:
相关文档
最新文档