数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)

合集下载

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告中南⼤学数字图像处理实验报告⽬录⼀、实验⼀:数字图像基本操作及灰度调整1.实验⽬的 (1)2.实验基本原理 (1)3.实验内容与要求 (3)4. 实验具体实现 (4)⼆、实验⼆:数字图像的空间域滤波和频域滤波1.实验⽬的 (9)2.实验基本原理 (9)3.实验内容与要求 (12)4. 实验具体实现 (14)三、实验三:图像分割与边缘检测1.实验⽬的 (32)2.实验基本原理 (32)3.实验内容与要求 (34)4. 实验具体实现 (35)实验⼀:数字图像基本操作及灰度调整1.实验⽬的1) 掌握读、写图像的基本⽅法。

2) 掌握MATLAB 语⾔中图像数据与信息的读取⽅法。

3) 理解图像灰度变换处理在图像增强的作⽤。

4) 掌握绘制灰度直⽅图的⽅法,理解灰度直⽅图的灰度变换及均衡化的⽅法。

2.实验原理1. 灰度变换灰度变换是图像增强的⼀种重要⼿段,它常⽤于改变图象的灰度范围及分布,是图象数字化及图象显⽰的重要⼯具。

1) 图像反转灰度级范围为[0, L-1]的图像反转可由下式获得r L s --=12) 对数运算:有时原图的动态范围太⼤,超出某些显⽰设备的允许动态范围,如直接使⽤原图,则⼀部分细节可能丢失。

解决的⽅法是对原图进⾏灰度压缩,如对数变换:s = c log(1 + r ),c 为常数,r ≥ 03) 幂次变换:0,0,≥≥=γγc cr s4) 对⽐拉伸:在实际应⽤中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某⼀范围的灰度值,或对不同范围的灰度值进⾏不同的拉伸处理,即分段线性拉伸:其对应的数学表达式为:2. 直⽅图均衡化灰度直⽅图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。

依据定义,在离散形式下,⽤r k 代表离散灰度级,⽤p r (r k )代表p r (r ),并且有下式成⽴:nnr P k k r =)( 1,,2,1,010-=≤≤l k r k式中:n k 为图像中出现r k 级灰度的像素数,n 是图像像素总数,⽽n k /n 即为频数。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告1. 引言数字图像处理是使用计算机来处理和优化图像的一种技术。

在本实验中,我们将探索几种常见的数字图像处理方法,并使用Python编程语言和相关库来实现。

2. 实验目的本实验的主要目的是:1.了解图像的基本特性和数字图像处理的基本原理;2.熟悉Python编程语言和相关图像处理库的使用;3.实现常见的图像处理算法并进行实验验证。

3. 实验方法在本实验中,我们使用Python编程语言和以下相关库来实现图像处理算法:•OpenCV:用于图像读取、显示和保存等基本操作;•Numpy:用于图像数据的处理和算术运算;•Matplotlib:用于图像的可视化和结果展示。

以下是实验涉及到的图像处理方法和步骤:1.图像读取和显示:使用OpenCV库读取图像,使用Matplotlib库显示图像;2.图像的灰度化:将彩色图像转换为灰度图像;3.图像的二值化:将灰度图像转换为黑白二值图像;4.图像的平滑处理:使用平滑滤波器对图像进行平滑处理,如均值滤波和高斯滤波;5.图像的边缘检测:使用边缘检测算法对图像进行边缘检测,如Sobel算子和Canny算子;6.图像的直方图均衡化:对灰度图像进行直方图均衡化,增强图像的对比度。

4. 实验过程和结果4.1 图像读取和显示首先,我们使用OpenCV库读取一张图像,并使用Matplotlib库显示该图像:import cv2import matplotlib.pyplot as plt# 读取图像img = cv2.imread('image.jpg')# 显示图像plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) plt.axis('off')plt.show()4.2 图像的灰度化接下来,我们将彩色图像转换为灰度图像:# 灰度化图像gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 显示灰度图像plt.imshow(gray_img, cmap='gray')plt.axis('off')plt.show()4.3 图像的二值化然后,我们将灰度图像转换为黑白二值图像:# 二值化图像_, binary_img = cv2.threshold(gray_img, 128, 255, cv2.THRESH_BINARY)# 显示二值图像plt.imshow(binary_img, cmap='gray')plt.axis('off')plt.show()4.4 图像的平滑处理接下来,我们使用平滑滤波器对图像进行平滑处理,例如使用5x5的均值滤波器和高斯滤波器:# 均值滤波mean_img = cv2.blur(img, (5, 5))# 高斯滤波gaussian_img = cv2.GaussianBlur(img, (5, 5), 0) # 显示平滑处理后的图像plt.figure(figsize=(10, 5))plt.subplot(121)plt.imshow(cv2.cvtColor(mean_img, cv2.COLOR_BGR2R GB))plt.title('Mean Filter')plt.axis('off')plt.subplot(122)plt.imshow(cv2.cvtColor(gaussian_img, cv2.COLOR_B GR2RGB))plt.title('Gaussian Filter')plt.axis('off')plt.show()4.5 图像的边缘检测然后,我们使用边缘检测算法对图像进行边缘检测,例如使用Sobel算子和Canny算子:# 边缘检测sobel_img = cv2.Sobel(gray_img, cv2.CV_8U, 1, 1, ksize=3)canny_img = cv2.Canny(gray_img, 50, 150)# 显示边缘检测结果plt.figure(figsize=(10, 5))plt.subplot(121)plt.imshow(sobel_img, cmap='gray')plt.title('Sobel Operator')plt.axis('off')plt.subplot(122)plt.imshow(canny_img, cmap='gray')plt.title('Canny Operator')plt.axis('off')plt.show()4.6 图像的直方图均衡化最后,我们对灰度图像进行直方图均衡化,以增强图像的对比度:# 直方图均衡化equalized_img = cv2.equalizeHist(gray_img)# 显示直方图均衡化结果plt.imshow(equalized_img, cmap='gray')plt.axis('off')plt.show()5. 实验总结通过本实验,我们熟悉了数字图像处理的基本方法和步骤,并使用Python编程语言和相关库实现了图像的读取、显示、灰度化、二值化、平滑处理、边缘检测和直方图均衡化等操作。

3.图像增强—灰度变换 - 数字图像处理实验报告

3.图像增强—灰度变换 - 数字图像处理实验报告

计算机与信息工程学院验证性实验报告一、实验目的:1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。

2、学会对图像直方图的分析。

3、掌握直接灰度变换的图像增强方法。

二、实验原理及知识点术语‘空间域’指的是图像平面本身,在空间与内处理图像的方法是直接对图像的像素进行处理。

空间域处理方法分为两种:灰度级变换、空间滤波。

空间域技术直接对像素进行操作其表达式为g(x,y)=T[f(x,y)]其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。

定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域。

此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。

T应用于每个位置(x,y),以便在该位置得到输出图像g。

在计算(x,y)处的g值时,只使用该领域的像素。

灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f 在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。

当处理单设(灰度)图像时,这两个术语可以互换。

由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:s=T(r)其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。

三、实验内容:1、图像数据读出2、计算并分析图像直方图3、利用直接灰度变换法对图像进行灰度变换下面给出灰度变化的MATLAB程序f=imread('medicine_pic.jpg');g=imhist(f,256); %显示其直方图g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像)figure,imshow(g1)%将0.5到0.75的灰度级扩展到范围[0 1]g2=imadjust(f,[0.5 0.75],[0 1]);figure,imshow(g2)g=imread('point.jpg');h=log(1+double(g)); %对输入图像对数映射变换h=mat2gray(h); %将矩阵h转换为灰度图片h=im2uint8(h); %将灰度图转换为8位图figure,imshow(h)四、实验仪器PC一台,MATLAB软件五、实验图片columbia480.bmp Fig0704(Vase).tif.tif六、实验程序及结果clc;clear allf=imread('columbia480.bmp');subplot 121;imshow(f)title('原始图像')subplot 122;imhist(f,256)title('原始图像直方图')%灰度转换,实现明暗转换(负片图像)f1=imadjust(f,[0 1],[1 0]);figure(2)subplot 121,imshow(f1)title('明暗转换后的图像')subplot 122;imhist(f1,256) title('明暗转换直方图')%将0.5到0.75的灰度级扩展到范围[0 1] f2=imadjust(f,[0.5 0.75],[0 1]); figure(3)subplot 121;imshow(f2)title('0.5到0.75的灰度级扩展到范围[0 1]的图像') subplot 122;imhist(f2,256) title('灰度级扩展直方图')原始图像0原始图像直方图100200明暗转换后的图像明暗转换直方图1002000.5到0.75的灰度级扩展到范围[0 1]的图像04灰度级扩展直方图100200clc;clear allm=imread('Fig0704(Vase).tif.tif');h=log(1+double(m)); %对输入图像对数映射变换 h=mat2gray(h); %将矩阵h 转换为灰度图片 h=im2uint8(h); %将灰度图转换为8位图 figuresubplot 221;imshow(m) title('原始图像') subplot 222;imhist(m) title('原始图像直方图') subplot 223;imshow(h)title('经log 变换后的图像') subplot 224;imhist(h)title('经log 变换后的图像直方图')原始图像原始图像直方图100200经log变换后的图像0经log 变换后的图像直方图100200教师签名:年 月 日。

图像增强(灰度图像-空间域)实验报告

图像增强(灰度图像-空间域)实验报告
2.(第二组模板用于锐化处理)
给予二阶微分的图像处理—拉普拉斯算子
0
-1
0
-1
4
-1
0
-1
0
以下两个模板是Sobel算子
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2ห้องสมุดไป่ตู้0 2
-1 0 1
二:使用Visual C++编写程序,利用对比度拉伸(Contrast stretching)和对数变换(Log transformation)的方法,对本目录下的图gray001.bmp进行操作,以凸显图像中的细节信息。根据图像的具体情况自行选择具体的变换函数,以达到最佳处理效果。
1.(第一组模板用于平滑处理)
3x3
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/16 2/16 1/16
2/16 4/16 2/16
1/16 2/16 1/16
5x5
1/25 1/25 1/25 1/25 1/25
1/25 1/25 1/25 1/25 1/25
1/25 1/25 1/25 1/25 1/25
通过以上实验可知平滑模板可以将原始图像平滑,但是在这三幅图例子中改变很小;锐化模板锐化效果比较明显。
二:对图像gra其中参数选择为第一个坐标点为(40,20)第二个坐标点为(130,150)
与原图像比较可以看到对比度有所增强,细节更突出。
对图像gray001.bmp进行对数变换得到如下图像:
其中对数变换参数选择为C=50,与原图像比较可知图像细节更加突出,特别是图像右下角部分。
通过此实验,掌握了空间域利用模版进行图像平滑和增强的基本方法;对图像平滑和增强的效果建立了直观的印象,加深对图像处理算法原理的理解;通过此次实验,还掌握图像灰度变换的一些基本方法。

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告班级:姓名:学号:数字图像处理实验报告一.实验名称:图像灰度变换二.实验目的:1 学会使用Matlab;2 学会用Matlab软件对图像灰度进行变换,感受各种不同的灰度变换方法对最终图像效果的影响。

三.实验原理:Matlab中经常使用的一些图像处理函数:读取图像:img=imread('filename'); //支持TIFF,JPEG,GIF,BMP,PNG,XWD等文件格式。

显示图像:imshow(img,G); //G表示显示该图像的灰度级数,如省略则默认为256。

保存图片:imwrite(img,'filename'); //不支持GIF格式,其他与imread相同。

亮度变换:imadjust(img,[low_in,high_in],[low_out,high_out]); //将low_in至high_in之间的值映射到low_out至high_out之间,low_in 以下及high_in以上归零。

绘制直方图:imhist(img);直方图均衡化:histeq(img,newlevel); //newlevel表示输出图像指定的灰度级数。

像平滑与锐化(空间滤波):w=fspecial('type',parameters);imfilter(img,w); //这两个函数结合将变得十分强大,可以实现photoshop里的任意滤镜。

图像复原:deconvlucy(img,PSF); //可用于图像降噪、去模糊等处理。

四.实验步骤:1.获取实验用图像:Fig3.10(b).jpg. 使用imread函数将图像读入Matlab。

2.产生灰度变换函数T1,使得:0.3r r < 0.35s = 0.105+2.6333(r–0.35) 0.35 ≤ r ≤ 0.65 1+0.3(r–1) r > 0.65用T1对原图像Fig3.10(b).jpg进行处理,打印处理后的新图像。

数字图像处理 实验 灰度变换

数字图像处理 实验 灰度变换
非线性拉伸不是对图像的整个灰度范围进行扩展而是有选择地对某一灰度值范围进行扩展其他范围的灰度值则有可能被压缩
XXXXXXX
实验名称图像灰度变换
实验时间年月日
专业姓名学号
预习操作座位号
教师签名总评
一、实验目的:
1.深入理解图像灰度变换的基本原理。
2.学习编程实现图像灰度变换,并分析各种算法的效果。
二、实验原理:
现行拉伸:
void CHangView::OnXxls()
{
// TODO: Add your command handler code here
long w,h;
unsigned char *lpsrc;
lpsrc=m_Image;
w=m_DibHead->biWidth;
h=m_DibHead->biHeight;
对数变换:对数变换的一般表达式为:s = c log(1 + r),其中C是一个常数。低灰度区扩展,高灰度区压缩。图像加亮、减暗。非线性拉伸不是对图像的整个灰度范围进行扩展,而是有选择地对某一灰度值范围进行扩展,其他范围的灰度值则有可能被压缩。
三、实验内容:
与实验二建立菜单方式相同。
建立相应的类向导使之建立函数(步骤与实验二相同),函数代码如下:
}
分段变换:
void CHangView::OnFenduan()
{
// TODO: Add your command handler code here
long w,h;
unsigned char *lpsrc;
lpsrc=m_Image;
w=m_DibHead->biWidth;
h=m_DibHead->biHeight;

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告数字图像处理实验报告1一. 实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等.具体要求如下:1.编程实现图像平移,要求平移后的图像大小不变;2.编程实现图像的镜像;3.编程实现图像的转置;4.编程实现图像的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5.编程实现以任意角度对图像进行旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.二.实验目的和意义:本实验的目的是使学生熟悉并掌握图像处理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架:3.1 实验所用编程环境:Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Web应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用.3.2 实验处理的对象:256色的BMP(BIT MAP )格式图像BMP(BIT MAP )位图的文件结构:具体组成图: BITMAPFILEHEADER位图文件头(只用于BMP文件) bfType=”BM” bfSize bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebiXPelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIB Pixels DIB图像数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成.2. BMP文件头BMP文件头数据结构含有BMP文件的类型(必须为BMP)、文件大小(以字节为单位)、位图文件保留字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位, 水平和垂直分辨率以每米像素数为单位) ,目标设备的级别,每个像素所需的位数, 位图压缩类型(必须是 0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色.具体包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创建显示用位图, 用函数创建兼容DC,用函数选择显示删除位图但以上方法的缺点是: 1)显示速度慢; 2) 内存占用大; 3) 位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决); 4) 在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示 :用视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像.BMP位图显示方法如下:1. 打开视频函数,一般放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 关闭视频函数 ,一般放在在析构函数中以上方法的优点是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色位数的设备上显示高颜色位数的图形图形时失真小; 5) 通过直接处理位图数据,可以制作简单动画.3.4 程序中用到的访问函数Windows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice函数:该函数可以直接在显示器或打印机上显示DIB. 在显示时不进行缩放处理.2. StretchDIBits函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式进行控制,可以指定每个像素颜色的位数,而且可以指定是否进行压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创建GDI 位图.5. CreateDIBSection函数:该函数能创建一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits 的函数.它的最主要的优点是可以使用抖动颜色,并且提高显示DIB的速度,缺点是必须将VFW代码连接到进程中.3.5 图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像处理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。

数字图像处理实验报告之数字图像的空间域滤波

数字图像处理实验报告之数字图像的空间域滤波

数字图像处理实验报告学院:班级:学号:时间:2012.11.29实验三:数字图像的空间域滤波——锐化滤波1.实验目的1.掌握图像滤波的基本定义及目的。

2.理解空间域滤波的基本原理及方法。

3.掌握进行图像的空域滤波的方法。

2.实验基本原理1.空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。

空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。

空域滤波一般分为线性滤波和非线性滤波两类。

线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。

各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。

平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。

锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。

结合这两种分类方法,可将空间滤波增强分为四类:线性平滑滤波器(低通)非线性平滑滤波器(低通)线性锐化滤波器(高通)非线性锐化滤波器(高通)空间滤波器都是基于模板卷积,其主要工作步骤是:1)将模板在图中移动,并将模板中心与图中某个像素位置重合;2)将模板上的系数与模板下对应的像素相乘;3)将所有乘积相加;4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。

2.锐化滤波器图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利用图像锐化技术,使图像的边缘变得清晰。

1)线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。

这种滤波器的中心系数都是正的,而周围的系数都是负的,所有的系数之和为0。

对3×3 的模板来说,典型的系数取值为:[-1 -1 -1;-1 8 -1;-1 -1 -1]事实上这是拉普拉斯算子。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(5)将处理后的I1-I2范围内的图像,线性扩展到0-255灰度,以适
应于液晶显示器的显示
使用灰度线性拉伸的方法,将图像由I1-I2范围内线性扩展到0-255灰度。
1.2
图1增加盐噪声的原始细胞图像
在网上下载了一张细胞图像,并对其加了盐噪声,模拟题目中所要求的明亮 且孤立的点。
为了验证可滤除明亮且孤立的点的最佳方法,我选取了高斯滤波、均值滤波、 中值滤波、自适应中值滤波,并使用MATLAB编写了函数代码(非直接使用MATLAB自带函数程序) ,对原始图像进行了处理, 处理结果如上图所示。 高斯滤波几乎对 噪声没有作用,故 高斯滤波并不适合去除明亮且孤立的点 ;使用均值滤波可以使 原有噪声变得不那么“明亮” (求了平均值, 故白色噪声灰度值减小), 但也牺牲 了图片本身的清晰度,故 均值滤波效果一般 ;使用中值滤波可以使用矩阵内中值 代替灰度值极大或极小的点,大部分孤立且明亮的点均被滤除,故 中值滤波处理 效果较优 ,但中值滤波模板大小固定并不利于取得最佳结果(模板太小,不能有 效滤除全部噪声; 模板太大, 运算时间变慢, 图像细节信息减少) ;使用自适应中 值滤波可以很好的弥补中值滤波自身的缺点,自适应中值滤波使用噪声敏感度判 断所需模板大小,由处理结果可以看出,与中值滤波相比,自适应中值滤波所得 结果边界更清晰,图像细节信息更丰富,故 自适应中值滤波法对明亮且孤立的点 处理效果最优 。
1.1

对于明亮且孤立的点, 其应为脉冲且灰度值为255(uint8)噪声,即盐噪声, 为此,首先对下载的细胞图像增加盐噪声,再 选择不同滤波 方式进行滤除。
均值滤波: 均值滤波是典型的线性滤波算法,它是指在图像上对目ห้องสมุดไป่ตู้像素给一个模板, 该模板包括了其周围的临近像素 (以目标像素为中心的周围8个像素,构成一 个滤波模板, 即去掉目标像素本身) ,再用模板中的全体像素的平均值来代替 原来像素值。
图2采用不同滤波方法滤除明亮孤立的点
图3原图与直方图均衡化后的直方图
上图为原图像与使用直方图均衡化(64)后的结果,可以看出, 直方图均衡化 后图像的灰度信息更丰富 。
图4对原图进行对比度增强的结果
其过程为:
a、存储像素1,像素2像素9的值;
b、对像素值进行排序操作;
c、像素5的值即为数组排序后的中值。 优点:由于中值滤波本身为一种利用统计排序方法进行的非线性滤波方法, 故可以滤除在排列矩阵两边分布的脉冲噪声,并较好的保留图像的细节信息。
缺点:当噪声密度较大时,使用中值滤波后,仍然会有较多的噪声点出现。 自适应中值滤波:
1.
一种成熟的医学技术被用于检测电子显微镜生成的某类图像。 为简化检测任 务,技术决定采用数字图像处理技术。发现了如下问题:(1)明亮且孤立的点 是不感兴趣的点; (2)清晰度不够,特别是边缘区域不明显; (3)一些图像的 对比度不够;(4)技术人员发现某些关键的信息只在灰度值为I1-I2的范围, 因此,技术人员想保留I1-I2区间范围的图像, 将其余灰度值显示为黑色。 (5) 将处理后的I1-I2范围内的图像,线性扩展到0-255灰度,以适应于液晶显示器 的显示。请结合本章的数字图像处理处理,帮助技术人员解决这些问题。
自适应的中值滤波器也需要一个矩形的窗口Sxy,和常规中值滤波器不同的 是这个窗口的大小会在滤波处理的过程中进行改变(增大)。需要注意的是, 滤波器的输出是一个像素值,该值用来替换点(x, y)处的像素值,点(x, y)是滤波窗口的中心位置。
其涉及到以下几个参数:
其计算过程如下:
常规的中值滤波器,在噪声的密度不是很大的情况下(根据经验,噪声的 出现的概率小于0.2),效果不错。但是当概率出现的概率较高时,常规的中 值滤波处理后,仍然具有噪声点,并丢失了细节和边缘,效果不是很好。
优点: 速度快,实现简单;
缺点:均值滤波本身存在着固有的缺陷, 即它不能很好地保护图像细节, 在 图像去噪的同时也破坏了图像的细节部分, 从而使图像变得模糊, 不能很好地 去除噪声点。
其公式如下:
使用矩阵表示该滤波器则为:
中值滤波:
滤除盐噪声首选的方法应为中值滤波,中值滤波法是一种非线性平滑技术, 它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中 值。
3
当图片自身对比对不够时,应使用对比度增强的方法对图像进行对比度增
直方图均衡化:
直方图均衡化处理的 “中心思想” 是把原始图像的灰度直方图从比较集中的 某个灰度区间变成在全部灰度范围内的均匀分布。 直方图均衡化就是对图像进 行非线性拉伸,重新分配图像像素值, 使一定灰度范围内的像素数量大致相同。 直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。
优点:自适应滤波器不但能够滤除概率较大的椒盐噪声, 而且能够更好的 保护图像的细节,这是常规的中值滤波器做不到的。
缺点: 实现复杂,运行时间长。
2
对于图像清晰度不够, 边缘区域不够明显的情况, 应考虑使用图像锐化算 法对图像边缘区域进行增强,以强调图像的边缘与细节。
为验证强调图像边缘与细节的最佳算法,我主要运用了拉普拉斯算子,sobel算子,prewitt算子,roberts算子对图像边缘进行了增强。
优点:形式可以任意合成, 增强输入图像中感兴趣的灰度区域, 相对抑制那 些不感兴趣的灰度区域。
缺点: 是需要更多的用户输入。
技术人员想保留I1-I2区间范围的图像,将其余灰度值显示为黑色。应提取目标区域的灰度值特性, 将图像进行二值化, 即可保留范围在I1-I2区 间范围的图像,将其余灰度值显示为黑色。
优点:对于背景和前景都太亮或者太暗的图像非常有用,且计算量不大。
缺点:变换后图像的灰度级减少, 某些细节消失; 某些图像, 如直方图有高
峰,经处理后对比度不自然的过分增强。
灰度分段线性变换:
分段线性变换函数可以增强原图各部分的反差, 即增强输入图像中感兴趣的 灰度区域,相对抑制那些不感兴趣的灰度区域。
相关文档
最新文档