MATLAB 实现数字图像锐化处理
第6章 图像增强-锐化
![第6章 图像增强-锐化](https://img.taocdn.com/s3/m/af76cb310722192e4536f67d.png)
(2) Prewitt算子
S p dx d y
用模板表示 d x , d y :
1 0 1 dx 1 0 1 1 0 1
2
1 2 2
1 1 1 dy 0 0 0 1 1 1
无方向的交叉微分算法
图:沿x和y方向的一阶差分
图:罗伯茨Roberts算法差分
Gx f (i 1, j ) f (i, j )
Gx f (i 1, j +1) f (i, j )
Gy f (i, j 1) f (i, j)
Gy f (i, j 1) f (i+1, j)
适当的选取T,可以有效地增强边界而不影响比 较平滑的背景。
第三种方法:对梯度值超过T的像素选用固定
灰度LG 代替,而小于T时仍选用原像素点值
LG , f (i, j ) T g (i, j ) f (i, j ), 其他
这种方法可以使边界清晰,同时又不损害灰度
变化比较平缓区域的图像特性。
(a)原图像 (b)结果图 图:拉普拉斯算子的锐化
(a)Sobel算子 图:锐化结果
(b)Prewitt算子
一阶梯度算法效果比较
Sobel算法与Priwitt算法的思路相同,属于同一类型, 因此处理效果基本相同。 Roberts算法的模板为2*2,定位准确,但对噪声敏感。 单方向锐化经过后处理之后,也可以对边界进行增强。
详见P123 表6.2
定灰度LG ,而小于该阈值T时选用固定的灰度LB 。
LG , f (i, j ) T g (i, j ) LB , 其他
MATLAB实现数字图像锐化处理
![MATLAB实现数字图像锐化处理](https://img.taocdn.com/s3/m/34f4713da98271fe900ef951.png)
MATLAB实现数字图像锐化处理作者:金献珍吴艳来源:《商场现代化》2008年第36期[摘要] 讨论了数字图像增强技术中空域图像锐化的四种算法及其用MATLAB的实现;同时给出了利用四种算法进行图像锐化后的对照图像。
[关键词] MATLAB 线性锐化非线性锐化 sobel算子 prewitt算子 log 算子MATLAB全称是MatrixLaboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
实际运用中MATLAB 中的绝大多数的运算都是通过矩阵这一形式进行的,这一特点决定了MATLAB在处理数字图像上的独特优势。
理论上讲,图像是一种二维的连续函数,然而计算机对图像进行数字处理时,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
二维图像均匀采样,可得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的。
而MATLAB的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。
MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP,GIF,HDF,JPEG,PCX,PNG, XWD,CUR,ICO等图像文件格式的读、写和显示。
MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。
图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作口。
数字图像处理中图像锐化的目的有两个:一是增强图像的边缘,使模糊的图像变得清晰起来;这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。
二是提取目标物体的边界,对图像进行分割,便于目标区域的识别等。
数字图像的锐化
![数字图像的锐化](https://img.taocdn.com/s3/m/e0ff631652d380eb62946d9c.png)
实验名称:数字图像的锐化(LAPLACE 运算)一、实验目的1、了解锐化的算法和用途,学习利用拉普拉斯锐化运算的程序设计 方法。
2、通过对锐化前后图象的观察深刻了解锐化的实质。
二、实验设备PC 兼容机一台,操作系统为Windows XP ,安装Code Composer Studio 2.2.1和MATLAB 6.5.1软件。
三、实验内容数字图象的的锐化1、实验要求:常用的拉普拉斯锐化模板还有另一种形式修改参考例程,完成以上算子的锐化运算。
2、对设计要求的理解(1)图像的锐化所需要的输入图象为80*80黑白自定义图象,我们这里选取电脑中自带的bmp 格式的图象。
不需要使用硬件采集图象。
(2)输入黑白图片的是由80*80个像素组成,每个像素值都是由0~255中的某一数字表示,代表其灰度值。
其中0代表图像为黑色的,255代表白色。
(3)锐化的实质是对图象灰度值比较接近的地方进行处理,提升两者之间的灰度差别,使得图象便于人眼观察。
(4)对某一点像素的处理采用拉普拉斯锐化模板,锐化后的像素值是以一点为中心的相邻的九个像素值的函数。
特别的是对于图象的边缘的处理:赋值为0。
四、实验原理1、数字图像的锐化原理图象锐化的目的是使模糊地图象变得更加清晰起来。
图象的模糊实质就是图象平均和积分运算造成的,因此可以对图象进行逆运算如微分运算来使图象清晰化。
从频谱的角度来分析,图象模糊地是知识其高频分量被衰减,因而可以通过高通滤波器作来清晰图象。
图像锐化常采用算法是拉普拉斯算法,他是微分锐化的方法的一种。
拉普拉斯运算是偏导数运算的线性组合,而且是一种各向同性(旋转不变)的线性运算.设2∇为拉普拉斯算子,则:y f x f f 22222∂∂+∂∂=∇对于离散数字图像),(j I f ,其一阶偏导数为:),1(),(),(),(j i f j i f j i f xj i f x --=∆=∂∂ )1,(),(),(),(--=∆=∂∂j i f j i f j i f yj i f y 其二阶偏导数为:),(2),1(),1(),(),1(),(22j i f j i f j i f j i f j i f x j i f x x --++=∆-+∆=∂∂ ),(2)1,()1,(),(),1(),(22j i f j i f j i f j i f j i f yj i f y y --++=∆-+∆=∂∂ 所以,拉普拉斯算子f 2∇为:),(4)1,()1,(),1(),1(22222j i f j i f j i f j i f j i f y f x f f --+++++-=∂∂+∂∂=∇ 对于扩散现象引起的图象模糊,可以用下式进行锐化:),(),(),(2j i f k j i f j i g ∇-=ττk 是与扩散效应有关系数,该系数取值合理,锐化效果才会更好。
实验二:图像锐化及伪彩色处理
![实验二:图像锐化及伪彩色处理](https://img.taocdn.com/s3/m/cc3a5de10c22590102029d58.png)
实验二图像锐化及伪彩色处理有的图片为三维的(MATLAB的workspace窗口可以看到),无法生成直方图,可以读入图像后用下面的命令转换为二维图像I=I(:,:,1);一、实验目的:1、掌握图像锐化、伪彩色处理的基本原理和基本方法,加深对其的感性认识,巩固所学理论知识。
2、编写MATLAB程序,采用不同算子对图像进行锐化处理。
3、编写MATLAB程序,实现对灰度图像的伪彩色处理。
4、学会比较图像处理结果并分析原因。
二、实验要求1.能够对单色图像进行伪彩色处理,能够分析彩色图像。
2.能够自行评价各主要算子在无噪声条件下和噪声条件下的锐化性能。
完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。
三、实验仪器PC一台,MATLAB软件。
四、实验内容(一) 试分别用roberts、sobel 、Prewitt、log四种算子编写MATLAB程序对Miss.bmp图像及添加高斯噪声的Miss图像进行锐化,提取边缘信息。
要求:1. 显示原图像和对其锐化后的各个图像,并分别为之命名为:“原始图像”、“Robert算子锐化结果”、“sobel算子锐化结果”、“Prewitt算子锐化结果”、“高斯-拉普拉斯算子锐化结果”2. 显示添加噪声的图像及对其锐化后的各个图像,并分别为之命名为:“添加噪声后的图像”、“Robert算子锐化结果”、“sobel算子锐化结果”、“Prewitt 算子锐化结果”、“高斯-拉普拉斯算子锐化结果”3.比较几种方法的锐化效果,并分析原因所用到的函数说明如下:1. 采用边缘算子分割图像函数为:[g,t]=edge(image,'method',threshold,'direction')image:输入的图像method:采用的方法类型,有roberts、sobel 、Prewitt、logthreshold:阈值,通常采用默认值,表示为[]direction: 所寻找边缘的方向,常用both ;g:返回的二值图像2.title('图像名字'); %此函数可为图像命名3.添加高斯噪声I=imnoise(image,'gaussian',0.02);(1)I=imread('Miss.bmp');[g1,t]=edge(I,'roberts',[],'both');[g2,t]=edge(I,'sobel',[],'both');[g3,t]=edge(I,'Prewitt',[],'both');[g4,t]=edge(I,'log',[],'both');subplot(231);imshow(I);title('原始图像');subplot(232);imshow(g1);title('reborts算子锐化结果');subplot(233);imshow(g2);title('sobel算子锐化结果');subplot(234);imshow(g3);title('prewitt算子锐化结果');subplot(235);imshow(g4);title('log算子锐化结果');原始图像reborts算子锐化结果sobel算子锐化结果prewit算子锐化结果log算子锐化结果(2)I=imread('Miss.bmp'); J=imnoise(I,'gaussian',0.02); [g5,t]=edge(I,'roberts',[],'both'); [g6,t]=edge(I,'sobel',[],'both'); [g7,t]=edge(I,'Prewitt',[],'both'); [g8,t]=edge(I,'log',[],'both');subplot(231);imshow(J);title('添加高斯噪声图像 '); subplot(232);imshow(g5);title('reborts 算子锐化结果‘); subplot(233);imshow(g6);title('sobel 算子锐化结果'); subplot(234);imshow(g7);title('prewit 算子锐化结果'); subplot(235);imshow(g8);title('logËã算子锐化结果');添加高斯噪声图像reborts 算子锐化结果sobel 算子锐化结果prewit 算子锐化结果log 算子锐化结果(二) 运行下列采用8个灰度级密度分割的伪彩色变换程序,观察结果,并分别采用2、16、32个灰度级进行伪彩色处理,编程后运行,观察并比较结果。
Matlab图像锐化处理及边缘检测
![Matlab图像锐化处理及边缘检测](https://img.taocdn.com/s3/m/80088efef524ccbff121846c.png)
Matlab图像锐化处理及边缘检测本章要点:☑图像边缘锐化的基本方法☑微分运算☑梯度锐化☑边缘检测6.1 图像边缘锐化的基本方法物体的边缘是以图像局部特性不连续性的形式出现。
本质上边缘常意味着一个区域的终结和另一个区域的开始。
图像边缘信息在图像分析和人的视觉中都是十分重要的,是图像识别中提取图像特征的一个重要特性。
图像的边缘有方向和幅度两个特性。
通常,延边缘走向的像素变化平缓,而垂直于边缘走向的像素变化剧烈。
边缘的描述包含以下几个方面:(1)边缘点——它两边像素的灰度值有显著的不同。
边缘点也存在于这样一对邻点之间即一个在较亮的区域内部,另一个在外部。
(2)边缘法线方向——在某点灰度变化最剧烈的方向,与边缘方向垂直。
(3)边缘方向——与边缘法线方向垂直,是目标边界的切线方向。
(4)边缘位置——边缘所在的坐标位置。
(5)边缘强度——沿边缘法线方向图像局部的变化强度的量度。
粗略地区分边缘种类可以有两种,其一是阶跃状边缘,它两边像素的灰度值有显著的不同,其二是屋顶状边缘,它位于灰度值从增加到减少的变化转折点。
这些变化分别对应景物中不同的物理状态。
边缘是图像上灰度变化比较剧烈的地方,如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级的变化带。
对这种变化最有用的两个特征是灰度的变化率和方向,在灰度变化突变处进行微分,将产生高值。
经典的边缘提取方法是考虑图像的每个像素在某个领域内的变化,利用边缘邻近一阶或二阶方向导数变化规律,来检测边缘。
图像灰度值的显著变化可以用一阶差分替代一阶微分的梯度来表示,它们分别以梯度向量的幅度和方向来表示。
因此图像中陡峭边缘的梯度值将是很大的;那些灰度变化平缓的地方,梯度值是比较小的;而那些灰度值相同的地方,梯度值将为零。
图像经过梯度运算能灵敏地检测出边界线,这种微分边缘检测算子运算简单易行,但有方向性。
利用计算机进行图像锐化处理有两个目的,一是与柔化处理相反,增强图像边缘,使模糊的图像变得更加清晰起来,颜色变得鲜明突出,图像的质量有所改善,产生更适合人观察和识别的图像,本章的梯度锐化就是介绍这方面的内容。
基于MATLAB的数字图像平滑和锐化处理算法分析
![基于MATLAB的数字图像平滑和锐化处理算法分析](https://img.taocdn.com/s3/m/1d8658e7ba0d4a7302763a7c.png)
基于MATLAB的数字图像平滑和锐化处理算法分析卞凤杰2141141摘要:本文主要内容是利用MATLAB 对图像进行频域平滑和锐化处理。
本文先对图像进行空域平滑、锐化处理,然后再进行频域平滑滤波、锐化等操作,可以简单比较空域和频域下对图像进行处理的不同效果,并且通过改变参数确定效果最佳的平滑和锐化处理算法,同时给出了运用MATLAB 进行图像处理的前后对照图像。
关键词:MATLAB;图像处理;图像平滑;图像锐化Abstract:In this paper, the main content is to use MATLAB to do image smoothing and sharpening processing in the frequency-domain.Firstly,this article to do spatial smoothing, sharpening processing of the image, and then to frequency-domain smoothing filtering, sharpening, etc.This can be simply compare the different results of image processing in spatial domain and frequency domain. Secondly, by changing the parameters to determine the best smoothing and sharpening processing algorithm, and gives a comparison before and after using MATLAB image processing image.Keywords:MATLAB;Image Processing;Image smoothing;Image sharpening1、引言数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
基于MATLAB的数字图像锐化
![基于MATLAB的数字图像锐化](https://img.taocdn.com/s3/m/2b5ccc32ccbff121dc368315.png)
吉林化工学院信息与控制工程学院专业设计说明书专业综合设计任务书一.设计题目:基于Matlab的图像锐化设计二.适用专业电子信息工程专业三.设计目的1.熟悉Matlab软件的使用;2.掌握图像处理的基本步骤;3.掌握图像锐化基本原理。
四.设计任务及要求使用Matlab软件对传统空域锐化和频域锐化算法进行研究和仿真。
通过仿真结果的对比和分析。
1.应用Matlab实现传统的图像锐化算法;2.通过编程对一张实际图片进行试验对比;3.撰写专业综合设计报告。
五.设计内容1.应用Matlab实现Roberts、Prewitt、Sobel和Laplacian算法中的任意两种。
2.利用Matlab对高通滤波法中的理想高通滤波法、巴特沃斯滤波法、梯度高通滤波、指数高通滤波方法中任意两种进行实验测试;3.对一张实际图片不同方法进行试验对比;4.撰写专业综合设计报告。
六.设计时间及进度安排设计时间共三周(2015.09.07~2015.09.27),具体安排如下表:I基于MATLA的数字图像锐化设计七、指导教师评语及学生成绩II吉林化工学院信息与控制工程学院专业设计说明书目录专业综合设计任务书 (I)目录............................................................................................................................................................. I II 第1章概述 ................................................................................................................................................... - 1 -1.1专业综合设计的目的...................................................................................................................... - 1 -1.2图像锐化的研究背景...................................................................................................................... - 1 -1.3图象锐化的目的 .............................................................................................................................. - 1 - 第2章图像锐化基本原理 .......................................................................................................................... - 2 -2.1图像锐化........................................................................................................................................... - 2 -2.1.1图像锐化基本概况............................................................................................................... - 2 -2.1.2图像锐化算法 ....................................................................................................................... - 2 -2.2.1 Prewitt锐化算法................................................................................................................... - 3 -2.2.2 Sobel锐化算法..................................................................................................................... - 3 -2.2.3 Laplacian算法 ...................................................................................................................... - 3 -2.3 频域锐化算法.................................................................................................................................. - 4 -2.3.1 理想高通滤波器.................................................................................................................. - 4 -2.3.2 巴特沃斯高通滤波器.......................................................................................................... - 5 -2.3.3 指数高通滤波器.................................................................................................................. - 5 -2.3.4 梯形高通滤波器.................................................................................................................. - 5 - 第3章基于MATLAB的数字图像锐化设计.......................................................................................... - 7 -3.1 sobel算法锐化 ................................................................................................................................. - 7 -3.1.1程序设计流程 ....................................................................................................................... - 7 -3.1.2运行结果与分析................................................................................................................... - 8 -3.2 Laplacian算法锐化.......................................................................................................................... - 9 -3.2.1程序设计流程 ....................................................................................................................... - 9 -3.2.2运行结果与分析................................................................................................................... - 9 -3.3 理想高通滤波器 ........................................................................................................................... - 10 -3.3.1程序设计流程 ..................................................................................................................... - 10 -3.3.2运行结果与分析................................................................................................................. - 11 -3.4 巴特沃斯高通滤波器................................................................................................................... - 12 -3.4.1程序设计流程 ..................................................................................................................... - 12 -3.4.2运行结果与分析................................................................................................................. - 13 - 第四章结论 ................................................................................................................................................. - 14 - 参考文献 ....................................................................................................................................................... - 15 -III基于MATLA的数字图像锐化设计附录................................................................................................................................................................ - 16 -IV吉林化工学院信息与控制工程学院专业综合设计说明书第1章概述1.1专业综合设计的目的专业综合设计是学生理论联系实际的重要实践教学环节,是对学生进行的一次综合性专业设计训练。
基于MATLAB的图像锐化及边界提取
![基于MATLAB的图像锐化及边界提取](https://img.taocdn.com/s3/m/d1669afe4693daef5ef73ddc.png)
摘要图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些冗余信息的处理方法。
其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。
图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。
本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、平滑和锐化等几种常用的增强方法、彩色图像增强的理论基础,通过MATLAB实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。
关键词MATLAB ;图像锐化;边界提取AbstractImage enhancement is based on the problems existing in the images, according to the specific need to highlight some of the information in an image, at the same time, to weaken or remove some redundant information processing method. Its main purpose is to make the image after processing for a given application is more effective than the original image at the same time can effectively improve the image quality. Image enhancement technology mainly includes histogram modification, image smoothing processing, image intensification processing and color processing technology, etc. This article first overview of the principle of image enhancement and image enhancement method of classification and histogram enhancement, smoothing and sharpening of several common enhancement method, the theoretical basis of color image enhancement, through practical processing effect of MATLAB experiment compared the advantages and disadvantages of various algorithms, discussed the main technical points of the different enhancement algorithm, and its image enhancement method for performance evaluation.Key wordsMATLAB;image sharpening; edge extraction·目录摘要 0Abstract (1)第一章绪论 (3)1.1 图像锐化及边界提起发展背景和意义 (3)1.2 图像锐化处理的现状和研究方法 (3)1.3MATLAB简介 (4)1.4 MATLAB对图像处理的特点 (4)第二章基于MATLAB的图像锐化 (5)2.1图像锐化概述 (5)2.2 线性锐化滤波器 (5)2.3 非线性锐化滤波器 (6)2.3.1 Roberts算子 (6)2.3.2 Prewitt锐化算子 (7)2.3.3 Sobel锐化算子 (8)2.3.4 一阶微分锐化的效果比较 (9)2.3.5 二阶微分锐化其算法为: (9)第三章基于MATLAB的边界提取 (11)3.1图像边界提取的概念 (11)3.2微分算子法 (11)3.2.1 Sobel算子 (12)3.2.3 prewitt算子 (12)3.2.4 Laplacian算子 (13)3.2.5 Canny边缘检测法 (13)3.2.6各种方法边界提取的图像 (15)3.2.7结论 (17)参考文献 (18)致谢 (19)第一章绪论1.1 图像锐化及边界提起发展背景和意义数字图像处理(Digital Image Processing)又称为计算机图像处理,它最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
基于matlab的图像锐化算法研究与仿真—-毕业论文设计
![基于matlab的图像锐化算法研究与仿真—-毕业论文设计](https://img.taocdn.com/s3/m/c3085bee5ebfc77da26925c52cc58bd630869341.png)
基于matlab的图像锐化算法研究与仿真—-毕业论文设计摘要在获取图像的过程中,由于多种因素的影响,导致图像质量会有所退化。
图像增强的目的在于通过处理有选择地突出便于人或机器分析某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值。
图像锐化正是图像增强中空间域局部运算方法中的一种,其目的是增强和判断图像的边缘和轮廓信息。
而图像锐化的具体方法就是通过微分而使图像边缘突出、清晰。
图像锐化最常用的方法是梯度锐化法,但除梯度算法外,图像锐化的方法还有Roberts、Prewitt、Sobel和Laplacian等多种算法,本文对这些方法进行了介绍、比较和分析。
最后对MATLAB做了介绍,并运用MATLAB语言对图像锐化的部分算法进行了实现并记录结果。
通过对各种算法仿真和比较,每种算法都有各自的优缺点。
在分析了本论文采用的图像特点后,有针对性的对Laplacian算法进行了改进,即采用高提升滤波来提高图像的亮度。
实验结果表明,此方法可行,达到了预期的锐化效果。
关键词:图像增强;边缘;MATLAB;图像锐化AbstractIn the process of image acquisiting, the image quality will be degraded due to a variety of factors. Image enhanceing is aimed at highlighting some interested information that is easy to analyze for people and machine and inhibiting some useless information to enhance the image value. Image sharpening is a partion operation method of image enhancing in spatial domain, and its purpose is to enhance and judge the edge of the image and profile information and the specific method of the image sharpening uses differential to make the edge so prominent and clear.The most commonly used method of image sharpening isgradient sharpening. But apart from the gradient algorithm, image sharpening methods also have Roberts, Prewitt, Sobel, Laplacian and etc. These methods were introduced, compared and analyzed. Finally, MATLAB is introduced. And a part of the image sharpening algorithm is achievd and the results afe recorded. Through the simulation and comparison of the various algorithms, each algorithm has its own advantages and disadvantages. After the features of the image using in this paper are analyzed, it improves the Laplacian algorithm contrapositively, namely using high-elevating filtering to improve the brightness of the image. Experimental results show that the method is feasible and achieves the desired sharpening effect.Key words: Image enhancing; Edge;MATLAB; Image Sharpening目录1 引言 (1)1.1图像及其特点 (1)1.2图像的文件格式 (1)1.3 数字图像处理 (5)1.3.1 数字图像处理概述 (5)1.3.2 数字图像处理发展概况 (5)1.3.3数字图像处理主要研究内容 (6)1.3.4 数字图像处理的基本特点 (7)1.3.5数字图像处理的优点 (8)1.3.6 数字图像处理的应用 (8)1.4 图像锐化的研究背景 (10)1.5研究图像锐化的目的和注意事项 (10)1.6本文内容的安排 (10)2 图像锐化 (11)2.1 微分法 (11)2.1.1 梯度法(Gradieut) (11)2.1.2 Sobel算法 (13)2.1.3 LOG算子 (14)2.2 拉普拉斯算子 (14)2.3 高通滤波法 (15)2.3.1 空间域高通滤波 (15)2.3.2 频率域高通滤波 (16)2.3.3 统计差值法(用于勾边处理) (17) 2.4 MATLAB中如何实现图像锐化 (17)2.5 总结 (18)3 锐化的边缘检测法与锐化算子 (19) 3.1边缘检测法 (19)3.1.1 梯度算子 (19)3.1.2 梯度算子在MATLAB中的实现 (20) 3.2拉普拉斯算子 (21)3.3 边缘连接方法 (21)3.4 边缘检测的MATLAB实现方法 (22) 3.5 MATLAB的实现程序如下 (23)3.6 结论 (23)4 MATLAB简介及GUI设计 (24)4.1 MATLAB简介 (24)4.2图形用户界面GUI (24)4.3 GUI设计原理及简介 (25)4.4 设计方法 (25)4.4.1 图形用户界面设计工具 (25)4.4.2 菜单设计 (26)4.4.3 对话框设计 (26)4.4.4 句柄图形 (27)4.4.5 图形对象句柄命令 (27)4.5 总结 (27)5 结论与展望 (28)5.1 结论 (28)5.2 展望 (28)致谢 (29)参考文献 (30)基于MA TLAB 的图像锐化算法研究与仿真1 引言据研究,在人类所接受到的全部信息中,约有75%~80%是通过视觉系统得到的,和语言或文字信息相比,图像包含的信息量更大、更直观、更确切,因而具有更高的使用效率和更广泛的适应性。
图像锐化处理实验报告
![图像锐化处理实验报告](https://img.taocdn.com/s3/m/0c4b73aadd88d0d233d46adb.png)
图像锐化处理实验报告图像锐化处理实验报告一.实验目的学会用Matlab 中的函数对输入图像按实验内容对图像进行锐化,感受各种不同的图像处理方法对最终图像效果的影响,最后进行综合练习。
二.实验内容1.仔细阅读Matlab 帮助文件中有关以下函数的使用说明,主要有imfilter 、fspecial 、imadjust 等。
2.使用imfilter 函数分别采用Sobel ,Laplacian 算子对cameraman.jpg 图像作锐化运算,显示运算前后的图像。
算子输入方法(两种方法都做):(1)用fspecial 函数产生(fspecial 仅能产生垂直方向sobel 算子,产生Laplacian 算子时alpha 参数选择0)。
(2)直接输入Sobel 算子形式为121000121x d ---⎡⎤=⎢⎥⎢⎥⎣⎦(水平Sobel ) 101202101y d -⎡⎤=-⎢⎥⎢⎥-⎣⎦(垂直Sobel ) Laplacian 算子形式为010141010-⎡⎤--⎢⎥⎢⎥-⎣⎦。
对于Sobel 22x y d d +生成图像;对于Laplacian 算子,直接采用计算结果作为锐化后图像。
3.将skeleton.jpg 图像文件读入Matlab ,按照以下步骤对其进行处理:(1)用带对角线的Laplacian 对其处理,以增强边缘。
对角线Laplacian 算子为111181111---⎡⎤--⎢⎥⎢⎥---⎣⎦。
(2)将(1)结果叠加到原始图像上。
可以看出噪声增强了(Laplacian算子对噪声敏感),应想办法降低。
(3)获取Sobel 图像并用imfilter 对其进行5×5邻域平均,以减少噪声(4)获取2)和3)相乘图像,噪声得以减少。
(5)将(4)结果叠加到原始图像上。
(6)最后用imadjust 函数对5)结果做幂指数为0.2的灰度变换。
4.编写Roberts 梯度锐化函数。
数字图像处理 matlab代码
![数字图像处理 matlab代码](https://img.taocdn.com/s3/m/75176cd128ea81c758f5789d.png)
MATLAB实用源代码图像读取及灰度变换I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题图像旋转I = imread('cameraman.tif');figure,imshow(I);theta = 30;K = imrotate(I,theta); % Try varying the angle, theta. figure, imshow(K)边缘检测I = imread('cameraman.tif');J1=edge(I,'sobel');J2=edge(I,'prewitt');J3=edge(I,'log');subplot(1,4,1),imshow(I);subplot(1,4,2),imshow(J1);subplot(1,4,3),imshow(J2);subplot(1,4,4),imshow(J3);1.图像反转MATLAB 程序实现如下:I=imread('xian.bmp');J=double(I);J=-J+(256-1); %图像反转线性变换H=uint8(J);subplot(1,2,1),imshow(I);subplot(1,2,2),imshow(H);2.灰度线性变换MATLAB 程序实现如下:I=imread('xian.bmp');subplot(2,2,1),imshow(I);title('原始图像');axis([50,250,50,200]);axis on; %显示坐标系I1=rgb2gray(I);subplot(2,2,2),imshow(I1);title('灰度图像');axis([50,250,50,200]);axis on; %显示坐标系J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1] subplot(2,2,3),imshow(J);title('线性变换图像[0.1 0.5]');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1] subplot(2,2,4),imshow(K);title('线性变换图像[0.3 0.7]');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系3.非线性变换MATLAB 程序实现如下:I=imread('xian.bmp');I1=rgb2gray(I);subplot(1,2,1),imshow(I1);title(' 灰度图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系J=double(I1);J=40*(log(J+1));H=uint8(J);subplot(1,2,2),imshow(H);title(' 对数变换图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系4.直方图均衡化MATLAB 程序实现如下:I=imread('xian.bmp');I=rgb2gray(I);figure;subplot(2,2,1);imshow(I);subplot(2,2,2);imhist(I);I1=histeq(I);figure;subplot(2,2,1);imshow(I1);subplot(2,2,2);imhist(I1);5. 线性平滑滤波器用MA TLAB实现领域平均法抑制噪声程序:I=imread('xian.bmp');subplot(231)imshow(I)title('原始图像')I=rgb2gray(I);I1=imnoise(I,'salt & pepper',0.02);subplot(232)imshow(I1)title(' 添加椒盐噪声的图像')k1=filter2(fspecial('average',3),I1)/255; %进行3*3模板平滑滤波k2=filter2(fspecial('average',5),I1)/255; %进行5*5模板平滑滤波k3=filter2(fspecial('average',7),I1)/255; %进行7*7模板平滑滤波k4=filter2(fspecial('average',9),I1)/255; %进行9*9模板平滑滤波subplot(233),imshow(k1);title('3*3 模板平滑滤波');subplot(234),imshow(k2);title('5*5 模板平滑滤波');subplot(235),imshow(k3);title('7*7 模板平滑滤波');subplot(236),imshow(k4);title('9*9 模板平滑滤波');6.中值滤波器用MA TLAB实现中值滤波程序如下:I=imread('xian.bmp');I=rgb2gray(I);J=imnoise(I,'salt&pepper',0.02);subplot(231),imshow(I);title('原图像');subplot(232),imshow(J);title('添加椒盐噪声图像');k1=medfilt2(J); %进行3*3模板中值滤波k2=medfilt2(J,[5,5]); %进行5*5模板中值滤波k3=medfilt2(J,[7,7]); %进行7*7模板中值滤波k4=medfilt2(J,[9,9]); %进行9*9模板中值滤波subplot(233),imshow(k1);title('3*3模板中值滤波');subplot(234),imshow(k2);title('5*5模板中值滤波');subplot(235),imshow(k3);title('7*7模板中值滤波');subplot(236),imshow(k4);title('9*9 模板中值滤波');7.用Sobel算子和拉普拉斯对图像锐化:I=imread('xian.bmp');subplot(2,2,1),imshow(I);title('原始图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I1=im2bw(I);subplot(2,2,2),imshow(I1);title('二值图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系H=fspecial('sobel'); %选择sobel算子J=filter2(H,I1); %卷积运算subplot(2,2,3),imshow(J);title('sobel算子锐化图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系h=[0 1 0,1 -4 1,0 1 0]; %拉普拉斯算子J1=conv2(I1,h,'same'); %卷积运算subplot(2,2,4),imshow(J1);title('拉普拉斯算子锐化图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系8.梯度算子检测边缘用MA TLAB实现如下:I=imread('xian.bmp');subplot(2,3,1);imshow(I);title('原始图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I1=im2bw(I);subplot(2,3,2);imshow(I1);title('二值图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I2=edge(I1,'roberts');figure;subplot(2,3,3);imshow(I2);title('roberts算子分割结果');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I3=edge(I1,'sobel');subplot(2,3,4);imshow(I3);title('sobel算子分割结果');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I4=edge(I1,'Prewitt');subplot(2,3,5);imshow(I4);title('Prewitt算子分割结果');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系9.LOG算子检测边缘用MA TLAB程序实现如下:I=imread('xian.bmp');subplot(2,2,1);imshow(I);title('原始图像');I1=rgb2gray(I);subplot(2,2,2);imshow(I1);title('灰度图像');I2=edge(I1,'log');subplot(2,2,3);imshow(I2);title('log算子分割结果');10.Canny算子检测边缘用MA TLAB程序实现如下:I=imread('xian.bmp');subplot(2,2,1);imshow(I);title('原始图像')I1=rgb2gray(I);subplot(2,2,2);imshow(I1);title('灰度图像');I2=edge(I1,'canny');subplot(2,2,3);imshow(I2);title('canny算子分割结果');11.边界跟踪(bwtraceboundary函数)clcclear allI=imread('xian.bmp');figureimshow(I);title('原始图像');I1=rgb2gray(I); %将彩色图像转化灰度图像threshold=graythresh(I1); %计算将灰度图像转化为二值图像所需的门限BW=im2bw(I1, threshold); %将灰度图像转化为二值图像figureimshow(BW);title('二值图像');dim=size(BW);col=round(dim(2)/2)-90; %计算起始点列坐标row=find(BW(:,col),1); %计算起始点行坐标connectivity=8;num_points=180;contour=bwtraceboundary(BW,[row,col],'N',connectivity,num_points);%提取边界figureimshow(I1);hold on;plot(contour(:,2),contour(:,1), 'g','LineWidth' ,2);title('边界跟踪图像');12.Hough变换I= imread('xian.bmp');rotI=rgb2gray(I);subplot(2,2,1);imshow(rotI);title('灰度图像');axis([50,250,50,200]);grid on;axis on;BW=edge(rotI,'prewitt');subplot(2,2,2);imshow(BW);title('prewitt算子边缘检测后图像');axis([50,250,50,200]);grid on;axis on;[H,T,R]=hough(BW);subplot(2,2,3);imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit');title('霍夫变换图');xlabel('\theta'),ylabel('\rho');axis on , axis normal, hold on;P=houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));x=T(P(:,2));y=R(P(:,1));plot(x,y,'s','color','white');lines=houghlines(BW,T,R,P,'FillGap',5,'MinLength',7);subplot(2,2,4);,imshow(rotI);title('霍夫变换图像检测');axis([50,250,50,200]);grid on;axis on;hold on;max_len=0;for k=1:length(lines)xy=[lines(k).point1;lines(k).point2];plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');len=norm(lines(k).point1-lines(k).point2);if(len>max_len)max_len=len;xy_long=xy;endendplot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','cyan');13.直方图阈值法用MA TLAB实现直方图阈值法:I=imread('xian.bmp');I1=rgb2gray(I);figure;subplot(2,2,1);imshow(I1);title(' 灰度图像')axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系[m,n]=size(I1); %测量图像尺寸参数GP=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255GP(k+1)=length(find(I1==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置endsubplot(2,2,2),bar(0:255,GP,'g') %绘制直方图title('灰度直方图')xlabel('灰度值')ylabel(' 出现概率')I2=im2bw(I,150/255);subplot(2,2,3),imshow(I2);title('阈值150的分割图像')axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I3=im2bw(I,200/255); %subplot(2,2,4),imshow(I3);title('阈值200的分割图像')axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系14. 自动阈值法:Otsu法用MA TLAB实现Otsu算法:clcclear allI=imread('xian.bmp');subplot(1,2,1),imshow(I);title('原始图像')axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系level=graythresh(I); %确定灰度阈值BW=im2bw(I,level);subplot(1,2,2),imshow(BW);title('Otsu 法阈值分割图像')axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系15.膨胀操作I=imread('xian.bmp'); %载入图像I1=rgb2gray(I);subplot(1,2,1);imshow(I1);title('灰度图像')axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系se=strel('disk',1); %生成圆形结构元素I2=imdilate(I1,se); %用生成的结构元素对图像进行膨胀subplot(1,2,2);imshow(I2);title(' 膨胀后图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系16.腐蚀操作MATLAB 实现腐蚀操作I=imread('xian.bmp'); %载入图像I1=rgb2gray(I);subplot(1,2,1);imshow(I1);title('灰度图像')axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系se=strel('disk',1); %生成圆形结构元素I2=imerode(I1,se); %用生成的结构元素对图像进行腐蚀subplot(1,2,2);imshow(I2);title('腐蚀后图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系17.开启和闭合操作用MA TLAB实现开启和闭合操作I=imread('xian.bmp'); %载入图像subplot(2,2,1),imshow(I);title('原始图像');axis([50,250,50,200]);axis on; %显示坐标系I1=rgb2gray(I);subplot(2,2,2),imshow(I1);title('灰度图像');axis([50,250,50,200]);axis on; %显示坐标系se=strel('disk',1); %采用半径为1的圆作为结构元素I2=imopen(I1,se); %开启操作I3=imclose(I1,se); %闭合操作subplot(2,2,3),imshow(I2);title('开启运算后图像');axis([50,250,50,200]);axis on; %显示坐标系subplot(2,2,4),imshow(I3);title('闭合运算后图像');axis([50,250,50,200]);axis on; %显示坐标系18.开启和闭合组合操作I=imread('xian.bmp'); %载入图像subplot(3,2,1),imshow(I);title('原始图像');axis([50,250,50,200]);axis on; %显示坐标系I1=rgb2gray(I);subplot(3,2,2),imshow(I1);title('灰度图像');axis([50,250,50,200]);axis on; %显示坐标系se=strel('disk',1);I2=imopen(I1,se); %开启操作I3=imclose(I1,se); %闭合操作subplot(3,2,3),imshow(I2);title('开启运算后图像');axis([50,250,50,200]);axis on; %显示坐标系subplot(3,2,4),imshow(I3);title('闭合运算后图像');axis([50,250,50,200]);axis on; %显示坐标系se=strel('disk',1);I4=imopen(I1,se);I5=imclose(I4,se);subplot(3,2,5),imshow(I5); %开—闭运算图像title('开—闭运算图像');axis([50,250,50,200]);axis on; %显示坐标系I6=imclose(I1,se);I7=imopen(I6,se);subplot(3,2,6),imshow(I7); %闭—开运算图像title('闭—开运算图像');axis([50,250,50,200]);axis on; %显示坐标系19.形态学边界提取利用MATLAB实现如下:I=imread('xian.bmp'); %载入图像subplot(1,3,1),imshow(I);title('原始图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I1=im2bw(I);subplot(1,3,2),imshow(I1);title('二值化图像');axis([50,250,50,200]);grid on; %显示网格线axis on; %显示坐标系I2=bwperim(I1); %获取区域的周长subplot(1,3,3),imshow(I2);title('边界周长的二值图像');axis([50,250,50,200]);grid on;axis on;20.形态学骨架提取利用MATLAB实现如下:I=imread('xian.bmp');subplot(2,2,1),imshow(I);title('原始图像');axis([50,250,50,200]);axis on;I1=im2bw(I);subplot(2,2,2),imshow(I1);title('二值图像');axis([50,250,50,200]);axis on;I2=bwmorph(I1,'skel',1);subplot(2,2,3),imshow(I2);title('1次骨架提取');axis([50,250,50,200]);axis on;I3=bwmorph(I1,'skel',2);subplot(2,2,4),imshow(I3);title('2次骨架提取');axis([50,250,50,200]);axis on;21.直接提取四个顶点坐标I = imread('xian.bmp');I = I(:,:,1);BW=im2bw(I);figureimshow(~BW)[x,y]=getpts。
《数字图像处理及MATLAB实现》图像增强与平滑实验
![《数字图像处理及MATLAB实现》图像增强与平滑实验](https://img.taocdn.com/s3/m/abf25f5bf342336c1eb91a37f111f18582d00c53.png)
《数字图像处理及MATLAB实现》图像增强与平滑实验一.实验目的及要求1、熟悉并掌握MA TLAB 图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。
二、实验设备MATLAB 6.5 以上版本、WIN XP 或WIN2000 计算机三、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。
熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。
(可将每段程序保存为一个.m文件)1.直方图均衡化clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows.I = imread('pout.tif'); % Reads the sample images ‘pout.tif’, and stores it inimshow(I) % an array named I.display the imagetext(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I) % Create a histogram of the image and display it in% a new figure window.[I2,T] = histeq(I); % Histogram equalization.figure, imshow(I2) % Display the new equalized image, I2, in a new figure window.text(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I2) % Create a histogram of the equalized image I2.figure,plot((0:255)/255,T); % plot the transformation curve.imwrite (I2, 'pout2.png'); % Write the newly adjusted image I2 to a disk file named% ‘pout2.png’.imfinfo('pout2.png') % Check the contents of the newly written file2.直接灰度变换clear all; close allI = imread('cameraman.tif'); 注意:imadjust()功能:调整图像灰度值或颜色映像表,也可实现伽马校正。
数字图像处理课程设计----MATLAB实现数字图象锐化处理
![数字图像处理课程设计----MATLAB实现数字图象锐化处理](https://img.taocdn.com/s3/m/733a99e9f90f76c660371a0c.png)
数字图象处理课程设计报告设计题目:MATLAB实现数字图象锐化处理目录1.报告摘要 (2)2.设计原理 (2)2.1MATLAB软件简介 (2)2.2MATLAB软件对图象的处理 (2)2.3图象锐化概述 (3)2.4图象锐化的原理 (3)3.设计过程 (4)3.1线性锐化 (4)3.1.1用线性高通滤波实现图像锐化的结果: (4)3.1.2线性高通滤波图象锐化的程序: (5)3.2非线性锐化 (5)3.2.1用Sobel 梯度算子实现图像锐化的结果及程序: (5)3.2.2用Prewitt梯度算子实现图像锐化的结果及程序: (6)3.2.3用log梯度算子实现图像锐化的结果及程序: (7)3.3设计总结 (8)4.心得体会 (9)1.报告摘要本次课程设计讨论了数字图像增强技术中空域图像锐化的四种算法及其用MATLAB的实现;同时给出了利用四种算法进行图像锐化后的对照图像。
[关键词] MATLAB 线性锐化非线性锐化sobel算子prewitt算子log 算子2.设计原理2.1MATLAB软件简介MATLAB全称是MatrixLaboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
实际运用中MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的,这一特点决定了MATLAB在处理数字图像上的独特优势。
2.2MATLAB软件对图象的处理理论上讲,图像是一种二维的连续函数,然而计算机对图像进行数字处理时,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
二维图像均匀采样,可得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的。
而MATLAB 的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。
MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP,GIF,HDF,JPEG,PCX,PNG,XWD,CUR,ICO等图像文件格式的读、写和显示。
在Matlab中进行图像增强的常用方法和技巧
![在Matlab中进行图像增强的常用方法和技巧](https://img.taocdn.com/s3/m/0c1d7477e418964bcf84b9d528ea81c759f52e68.png)
在Matlab中进行图像增强的常用方法和技巧引言:图像增强是图像处理中的一项重要工作,它可以使图像更加清晰、亮度更加均匀,从而更好地展示图像的细节和特征。
而Matlab作为一款功能强大的数学计算软件,提供了许多图像处理的函数和工具箱,可以帮助用户实现图像增强。
本文将介绍一些在Matlab中常用的图像增强方法和技巧。
一、直方图均衡化直方图均衡化是一种常用的图像增强方法,它可以通过调整图像的像素亮度分布,使得图像的对比度更加明显。
在Matlab中,可以使用histeq函数来实现直方图均衡化。
以下是一个示例:```image = imread('image.jpg');enhanced_image = histeq(image);```通过对图像的直方图进行统计分析,histeq函数可以将图像的像素值重新映射到一个更广的像素值范围内,从而增强图像的对比度。
二、图像滤波图像滤波是另一种常用的图像增强方法,它可以通过去除图像中的噪声和干扰,使得图像更加清晰和平滑。
在Matlab中,可以使用imfilter函数来实现各种滤波操作。
以下是一些常用的图像滤波方法:1. 均值滤波:使用imfilter函数的fspecial参数可以创建一个均值滤波器,然后通过imfilter函数的'conv'选项来对图像进行滤波。
```image = imread('image.jpg');filter = fspecial('average', [3, 3]);filtered_image = imfilter(image, filter, 'conv');```2. 中值滤波:使用medfilt2函数可以对图像进行中值滤波,该函数对图像中的每个像素取相邻像素的中值作为滤波结果。
```image = imread('image.jpg');filtered_image = medfilt2(image);```3. 高斯滤波:使用imfilter函数的fspecial参数可以创建一个高斯滤波器,然后通过imfilter函数的'conv'选项来对图像进行滤波。
Matlab图像处理—锐化滤波器
![Matlab图像处理—锐化滤波器](https://img.taocdn.com/s3/m/a95f8a2a86c24028915f804d2b160b4e767f81ba.png)
Matlab图像处理—锐化滤波器锐化滤波器锐化处理的主要⽬的是,突出灰度的过渡部分,增强图像中的细节。
空间域像素邻域*均法可以使图像变模糊,均值处理与积分类似,所以锐化处理可以⽤空间微分(差分)来完成。
对⽐模糊:模糊(*滑)是去除图像的细节,均值处理。
锐化是突出图像的细节,微分(差分)处理。
锐化滤波器主要有两种锐化⽅法:1. 使⽤⼆阶微分的图像锐化:拉普拉斯锐化2. 使⽤⼀阶微分的图像锐化:梯度锐化Part1. 拉普拉斯锐化⽤算⼦产⽣的图像暗⾊背景叠加浅灰⾊边及突变点明显。
拉普拉斯算⼦锐化图像的后处理(背景和边缘):由于拉普拉斯是⼀种微分算⼦,拉普拉斯图像强调原图中的灰度突变区域,衰减灰度变化慢区域,恒定区域变为0。
将原始图像和拉普拉斯图像叠加在⼀起的简单⽅法可以保护拉普拉斯锐化处理的效果,同时⼜能复原背景信息。
所以适⽤拉普拉斯变换对图像锐化增强的基本⽅法可表⽰为:插⼊介绍图像的算术的操作:就是阵列操作,图像可以等价的被看成是矩阵,包含⼀幅或多幅图像的,阵列操作是以逐个像素为基础执⾏的。
算术操作如下:图像算术操作涉及相同⼤⼩的图像。
回到拉普拉斯锐化拉普拉斯算⼦是常⽤的边缘增强算⼦,是⼀种各向同性的线性运算(旋转不变性),这种滤波器的响应与滤波器作⽤的图像的突变⽅向⽆关,也就是各向同性滤波器是旋转不变的。
以90度为增量进⾏旋转各向同性。
c的取值要合理,如果c过⼤,图像轮廓边缘会产⽣过冲;⽽过⼩,锐化效果就不明显。
另外,对⾓线也可以这样组成:在下式中添⼊两项,即两个对⾓线⽅向各加1个。
由于每个对⾓线⽅向上的项还包含⼀个-2f(x,y),所以总共应减去-8f(x,y)。
得到的新模板对450增幅的结果是各向同性的。
如下所⽰做⼀⽐对:Part2. 梯度锐化假设M(x,y)是与原图像⼤⼩相同的图,称为该图像的梯度图像,可简称为梯度。
梯度向量的分量是微分,是线性算⼦,但梯度的幅值不是线性算⼦,是做了*⽅和⽅根。
MATLAB实现数字图像锐化处理
![MATLAB实现数字图像锐化处理](https://img.taocdn.com/s3/m/04ad1163a45177232f60a295.png)
为不 同请 求选择不 同的业务模型 。
2通讯层设计 。通讯层采用组件式开发方式 ( 图 4 ,多种 见 )
[ 关键 词 】 A LB 线性 锐 化 M TA
】 算 子 0 g
《
非 线 性锐 化
瓣 耩
se 子 pw t ol b算 r i et
通讯方式 以组件形式载入通讯 服务器 ,具体 良好 的可扩展性。各 算 子
五 、系统实现主界面 ( 5 图 )
二维 的连续 函数 .然而计算机对 图像进行数字处理时 ,首先必须 对其在空 间和亮度上进行数字化 .这就是 图像 的采样和量化的过 程 。二维 图像均 匀采样 ,可得到一 幅离散化成 M XN样本的数字
图像 .该数 字图像是一个 整数 阵列 ,因而用矩 阵来描述该数字图 像是最直观最简便的。而 M T A A L B的长处就是处理矩阵运 算 因 此用 M T AB A L 处理数字 图像非常的方便。MA L B支持五种图像 TA 类型 .即索引图像 、灰度图像 二值图像、R B图像和多帧图像 G 阵列 ;支持 B P GF H F P G C P G, X M . I, D JE .P X. N WD. U ,C C R IO
该 系统 已应 用于国 内各通 信运营 商 ,基 于 B /S的直放站监 得图像的质量有所 改变 .产生更适合人观察和识别 的图像 。 数字图像的锐化可分为线性锐 化滤波 和非线性锐化滤波。如 控 管理 系统克服 了已有监 控管理 系统 的种种 不足 ,是 集计 算机
技 术、通信技 术 、直放站 应用技 术为一体 的专业化监 控管理 系 果输出像素是输入像 素领域像 素的线 性组合则称 为线性滤波 否 统 。在设计 上遵循电信管理 网 (MN)规范和相 关技 术规范 ,且 则称为非线性滤波 。 T
matlab 边缘锐化代码
![matlab 边缘锐化代码](https://img.taocdn.com/s3/m/edf8577d66ec102de2bd960590c69ec3d5bbdbbd.png)
matlab 边缘锐化代码边缘锐化是图像处理中常用的一种技术,可以突出图像中的边缘特征,增强图像的清晰度和对比度。
在 MATLAB 中,可以使用不同的方法来实现边缘锐化,比如使用拉普拉斯算子或者Sobel算子。
下面我将为你展示一个简单的使用Sobel算子进行边缘锐化的MATLAB 代码示例:matlab.% 读取原始图像。
originalImage = imread('lena.png');% 将图像转换为灰度图像。
grayImage = rgb2gray(originalImage);% 使用Sobel算子进行边缘检测。
edgeImage = edge(grayImage, 'Sobel');% 显示原始图像和边缘检测结果。
subplot(1,2,1);imshow(grayImage);title('Original Image');subplot(1,2,2);imshow(edgeImage);title('Edge Detected Image');在这段代码中,我们首先读取了一张原始图像,并将其转换为灰度图像。
然后,我们使用Sobel算子对灰度图像进行边缘检测,得到了边缘检测结果。
最后,我们将原始图像和边缘检测结果进行了显示,以便进行对比观察。
需要注意的是,边缘锐化是一个复杂的图像处理技术,还有许多其他的方法和算法可以实现边缘锐化效果。
以上代码仅是一个简单的示例,实际应用中可能需要根据具体情况进行参数调整和算法优化。
希望这个示例能够帮助你更好地理解在 MATLAB 中实现边缘锐化的方法。
数字图像处理实验报告图像增强处理与几何变换
![数字图像处理实验报告图像增强处理与几何变换](https://img.taocdn.com/s3/m/6b79c4f759f5f61fb7360b4c2e3f5727a5e92492.png)
实验图像增强处理与几何变换一、实验目的利用Matlab图像处理工具箱中的函数实现图像点处理、空间域平滑和锐化处理、彩色图像处理、几何处理,巩固其原理与计算方法学习,深化课程理论认知。
二、实验内容1、图像点处理:灰度变换、直方图均衡化和直方图规定处理;2、图像均值滤波和中值滤波、图像锐化处理;3、图像几何变换处理;4、图像彩色合成和彩色变换处理;三、实验步骤1、图像点处理:灰度变换、直方图均衡化和直方图规定处理;1.1图像的灰度变换启用MATLAB,输入以下代码运行I= imread('cameraman-8.bmp','bmp');figure; subplot(2,2,1), imshow(I);%获取图像直方图subplot(2,2,2),imhist(I);[counts1,x1] = imhist(I);%观察Counts,x的值subplot(2,2,3),stem(x1,counts1);%图像灰度变换J=imadjust(I,[0.1 0.7],[0.0 0.9]);subplot(2,2,4), imshow (J);%对比灰度变换前后的图像及其直方图figure;subplot(2,3,1),imshow(I);subplot(2,3,2),imshow(J);subplot(2,3,4),imhist(I);subplot(2,3,5),imhist(J);[counts2,x2] = imhist(J);subplot(2,3,6), stem(x2,counts2);图 1.1.1图 1.1.21.2图像直方图均衡化启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp') ;%直方图均衡化处理J=histeq(I) ;%对比均衡化处理前后的图像及其直方图figure(1),subplot(2,2,1),imshow(I),subplot(2,2,2),imshow(J); figure(1),subplot(2,2,3),imhist(I),subplot(2,2,4),imhist(J);图 1.2 1.3直方图规定化启用MATLAB,输入以下代码运行I1=imread('TM5.bmp','bmp');I2=imread('TM3.bmp','bmp');%直方图规定化处理K1=histeq(I1,imhist(I2));%对比规定化处理前后的图像及其直方图figure;subplot(3,2,1),imshow(I1);subplot(3,2,2), imhist(I1);subplot(3,2,3),imshow(I2);subplot(3,2,4), imhist(I2);subplot(3,2,5),imshow(K1);subplot(3,2,6), imhist(K1);图 1.32、图像空间域平滑2.1 用均值滤波器实现图像空间域的平滑启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp');J=imnoise(I,'gaussian'); %添加高斯噪声K=imnoise(I,'salt & pepper'); %添加椒盐噪声M=imnoise(I,'speckle'); %添加乘性噪声H=ones(3,3)/9; %3*3的均值去噪模板%滤波去噪处理I1=imfilter(I,H);J1=imfilter(J,H);K1=imfilter(K,H);M1=imfilter(M,H) ;%对比线性滤波去噪处理前后的图像figure;subplot(2,4,1),imshow(I);title('原图');subplot(2,4,2),imshow(J); title('高斯噪声图像'); subplot(2,4,3),imshow(K); title('椒盐噪声图像'); subplot(2,4,4),imshow(M); title('乘性噪声图像'); subplot(2,4,6),imshow(J1); title('高斯噪声滤波图像'); subplot(2,4,7),imshow(K1); title('椒盐噪声滤波图像'); subplot(2,4,8),imshow(M1) ; title('乘性噪声滤波图像') ; 输出图像如下图 2.12.2 用中值滤波器实现图像空间域的平滑启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt & pepper',0.02);I3=imnoise(I,'speckle');%3×3中值滤波模板J=medfilt2(I,[3,3]);J1=medfilt2(I1,[3,3]);J2=medfilt2(I2,[3,3]);J3=medfilt2(I3,[3,3]);figure,subplot(2,4,1),imshow(I) ; title('原图') ;subplot(2,4,2),imshow(I1) ; title('添加高斯噪声') ;subplot(2,4,3),imshow(I2) ; title('添加椒盐噪声') ;subplot(2,4,4),imshow(I3) ; title('添加乘性噪声') ;subplot(2,4,6),imshow(J1) ;title('高斯噪声3*3中值滤波') ; subplot(2,4,7),imshow(J2) ;title('椒盐噪声3*3中值滤波') ; subplot(2,4,8),imshow(J3) ;title('乘性噪声3*3中值滤波') ;K=medfilt2(I, [5,5]); %5×5中值滤波模板K1=medfilt2(I1,[5,5]);K2=medfilt2(I2,[5,5]);K3=medfilt2(I3,[5,5]);figure;subplot(2,2,1),imshow(K); title('原图5*5中值滤波'); subplot(2,2,2),imshow(K1) ; title('高斯噪声5*5中值滤波') ; subplot(2,2,3),imshow(K2); title('椒盐噪声5*5中值滤波'); subplot(2,2,4),imshow(K3) ; title('乘性噪声5*5中值滤波'); 输出结果如下图 2.2.1图 2.2.22.3 图像空间域锐化启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp')H=fspecial('sobel')%用sobel算子做模板%锐化处理J=imfilter(I,H)%锐化处理前后图像对比figure,subplot(1,2,1),imshow(I),subplot(1,2,2),imshow(J); 输出图像如下图 2.33、图像几何变换3.1 缩放启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp', 'bmp') ;%放大图像J=imresize(I,2) ;%缩小图像K=imresize(I,0.5) ;%图像对比figure(1),subplot(),imshow(I),title('原图'),figure(2),subplot(),imshow(J),title('放大两倍的图'),figure(3),subplot(),imshow(K),title('缩小0.5倍的图') ;输出图像如下图 3.1.1 图3.1.2图 3.1.33.2旋转启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp', 'bmp') ;%旋转图像M=imrotate(I,45) ;%图像对比figure;subplot(1,2,1),imshow(I),subplot(1,2,2),imshow(M) ;输出图像如下图 3.24、彩色图像处理4.1彩色合成启用MATLAB,输入以下代码运行I=imread('peppers.bmp','bmp');J1=I; J2=I;J3=I; J4=I;J5=I;%改变J1、J2、J3、J4、J5中的波段次序,组合成新的波段合成J1(:,:,1)=I(:,:,2); J1(:,:,2)=I(:,:,3); J1(:,:,3)=I(:,:,1) ;J2(:,:,1)=I(:,:,1); J2(:,:,2)=I(:,:,3); J2(:,:,3)=I(:,:,2) ;J3(:,:,1)=I(:,:,2); J3(:,:,2)=I(:,:,1); J3(:,:,3)=I(:,:,3) ;J4(:,:,1)=I(:,:,3); J4(:,:,2)=I(:,:,2); J4(:,:,3)=I(:,:,1) ;J5(:,:,1)=I(:,:,3); J5(:,:,2)=I(:,:,1); J5(:,:,3)=I(:,:,2) ;%对比原图像I与新图像J1、J2、J3、J4、J5的彩色差异,理解假彩色合成figure,subplot(2,3,1),imshow(I),title('原图');subplot(2,3,2),imshow(J1),title('变换一') ;subplot(2,3,3),imshow(J2),title('变换二') ;subplot(2,3,4),imshow(J3),title('变换三') ;subplot(2,3,5),imshow(J4),title('变换四') ;subplot(2,3,6),imshow(J5),title('变换五');输出图像如下图4.1 4.2彩色变换启用MATLAB,输入以下代码运行I=imread('peppers.bmp','bmp');HSV=rgb2hsv(I) ;RGB=hsv2rgb(HSV) ;%对比彩色变换前后的图像figure;subplot(1,3,1),imshow(I),title('原图'),subplot(1,3,2),imshow(HSV),title('HSV图像'); subplot(1,3,3),imshow(RGB),title('RGB图像') ;输出结果如下图 4.2四、实验算法要点总结1、图像点处理直方图修正法通常分为直方图均衡化和直方图规定化两类2、图像均值滤波和中值滤波、图像锐化处理3、图像几何变换处理4、图像彩色合成和彩色变换处理通过映射函数将彩色图像或多光谱图像变换成新的三基色分量线性假彩色映射表示为:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 实现数字图像锐化处理
摘要:讨论了数字图像增强技术中空域图像锐化的四种算法及其用MATLAB的实现;同时给出了利用四种算法进行图像锐化后的对照图像。
比较实验结果,可知运用算法锐化处理后,图像比原来图像清晰。
关键词:MATLAB、线性锐化、非线性锐化、sobel算子、prewitt算子、log算子
1.引言
MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
实际运用中MATLAB
中的绝大多数的运算都是通过矩阵这一形式进行的,这一特点决定了MATLAB 在处理数字图像上的独特优势。
理论上讲,图像是一种二维的连续函数,然而计算机对图像进行数字处理时,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
二维图像均匀采样,可得到一幅离散化成M ×N 样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的。
而MATLAB 的长处就是处理矩阵运算,因此用MATLAB 处理数字图像非常的方便。
MATLAB 支持五种图像类型,即索引图像、灰度图像、二值图像、RGB 图像和多帧图像阵列;支持BMP,GIF,HDF,JPEG,PCX,PNG,XWD,CUR,ICO 等图像文件格式的读、写和显示。
MATLAB 对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。
图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作口。
数字图像处理中图像锐化的目的有两个:一是增强图像的边缘,使模糊的图像变得清晰起来;这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。
二是提取目标物体的边界,对图像进行分割,便于目标区域的识别等。
通过图像的锐化,使得图像的质量有所改变,产生更适合人观察和识别的图像。
2.数字图像的锐化
数字图像的锐化可分为线性锐化滤波和非线性锐化滤波。
如果输出像素是输入像素领域像素的线性组合则称为线性滤波,否则称为非线性滤波。
2.1线性锐化滤波器
线性高通滤波器是最常用的线性锐化滤波器。
这种滤波器必须满足滤波器的中心系数为所示:1 模板的典型系数如表3 ×3 正数,其他系数为负数。
线性高通滤波器.
1表用线性高通滤波实现图像锐化的程序和图像如下:F=imread('F:/text.png'); %读入图像
f=rgb2gray(F); 类型h=double(f); %转化为double 模板×3 3g=[-1 -1 -1; -1 8 -1; -1 -1 -1];%线性高通滤波线性高通滤波进行图像滤波j=conv2(h,g,'same');%
原始图像');subplot(1,2,1);imshow(f);title(' J=uint8(j);
滤波后图像');subplot(1,2,2);imshow(J);title('像后图波滤像图原始
2.2非线性锐化滤波器以此来锐化由于邻域平均导致的模糊图非线性锐化滤波就是使用微分对图像进行处理,像沿某个方向上的灰度变化率,即原图像函数的像。
图像处理中最常用的微分是利用图y
梯度。
梯度定义如下:
梯度模的表达式如下:其发生的最短距离是在两相邻像素幅值是有限的,在数字图像处理中,数据是离散的,之间。
因此在数字图像处理中通常采用一阶差分来定义微分算子。
其差分形式为:△xf=f(x+1,y)-f(x,y) △yf=f(x,y+1)-f(x,y) log算子等等。
梯度算子、Prewitt 梯度算子和比较有名的微分滤波器算子包括Sobel
梯度算子实现图像锐化的程序和图像如下:用Sobel读入图像
i=imread('F:/text.png');%I=rgb2gray(i);
显示原图像原图像');%subplot(1,2,1),imshow(I);title(' sobel应用算子锐化图像
H=fspecial('sobel'); % I2=filter2(H,I); %sobel算子滤波锐化算子锐化图像sobelsubplot(1,2,2);imshow(I2);%显示');
算子锐化图像title('sobel像图子算锐化sobel像原图
梯度算子实现图像锐化的程序和图像如下:Prewitt用.
i=imread('F:/text.png');%读入图像
I=rgb2gray(i);
subplot(1,2,1),imshow(I);title('原图像');%显示原图像
H=fspecial('prewitt');%应用prewitt算子锐化图像
I3=filter2(H,I);%prewitt算子滤波锐化
subplot(1,2,2);imshow(I3); %显示prewitt算子锐化图像
title('prewitt算子锐化图像');
prewitt算子锐化图像像图原
梯度算子实现图像锐化的程序和图像如下:用log i=imread('F:/text.png');%读入图像I=rgb2gray(i); ');%subplot(1,2,1),imshow(I);title('原图像显示原图像log算子锐化图像H=fspecial('log'); %应用
算子滤波锐化I4=filter2(H,I); %log 算子锐化图像logsubplot(1,2,2);imshow(I4);%显示');算子锐化图像title('log
原图像
结束语3.MATLAB 讨论。
实验结果表明应用本文就MATLAB 在数字图像锐化处理方面进行了阐述、图像处理工具箱中所当然,MATLAB 进行数字图像处理具有理想的效果和很高的工程价值。
为数字图像处理提供了一种简单、快捷提供的图像处理功能远不止这些。
可以说,MATLAB
而又有效的方法,大大提高了数字图像处理的效率及效果并且应用到图像处理的各个方向。
参考文献:辽宁:基于标准图像文件格式的数字图像处理方法[J]. 阜新[1]韩晓军,苗长云,王亚青. ).2000,19(4)(自然科学版工程技术大学学报河南城建学院学报.2011,20(1)柏春岚[2].基于空域
图像增强的研究与分析[J]. .2012,28(4)基于空域的图像增强技术研究.赤峰学院学报关雪梅
[3]. .2006,12(227)《现代电子技术》曾嘉亮[4].基于边缘检测的图像锐化算法.. Computer Knowledge .基于拉普拉斯算法的图像锐化算法研究和实现卢允伟,陈友荣[5] .2009,5(6)电脑知识与技术and Technology。