MATLAB-实现数字图像锐化处理

合集下载

MATLAB实现数字图像锐化处理

MATLAB实现数字图像锐化处理

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)中。

图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作口。

数字图像处理中图像锐化的目的有两个:一是增强图像的边缘,使模糊的图像变得清晰起来;这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。

二是提取目标物体的边界,对图像进行分割,便于目标区域的识别等。

利用Matlab进行图像去噪和图像增强

利用Matlab进行图像去噪和图像增强

利用Matlab进行图像去噪和图像增强随着数字图像处理技术的不断发展和成熟,图像去噪和图像增强在各个领域都有广泛的应用。

而在数字图像处理的工具中,Matlab凭借其强大的功能和易于使用的特点,成为了许多研究者和工程师首选的软件之一。

本文将介绍如何利用Matlab进行图像去噪和图像增强的方法和技巧。

一、图像去噪图像去噪是指通过一系列算法和技术,将图像中的噪声信号去除或减弱,提高图像的质量和清晰度。

Matlab提供了多种去噪方法,其中最常用的方法之一是利用小波变换进行去噪。

1. 小波变换去噪小波变换是一种多尺度分析方法,能够对信号进行时频分析,通过将信号分解到不同的尺度上,实现对图像的去噪。

在Matlab中,可以使用"dwt"函数进行小波变换,将图像分解为低频和高频子带,然后通过对高频子带进行阈值处理,将噪声信号滤除。

最后通过逆小波变换将去噪后的图像重构出来。

这种方法能够有效抑制高频噪声,保留图像的细节信息。

2. 均值滤波去噪均值滤波是一种基于平均值的线性滤波方法,通过计算像素周围邻域内像素的平均值,替代原始像素的值来去除噪声。

在Matlab中,可以使用"imfilter"函数进行均值滤波,通过设置适当的滤波模板大小和滤波器系数,实现对图像的去噪。

二、图像增强图像增强是指通过一系列算法和技术,改善图像的质量、增强图像的细节和对比度,使图像更容易被观察和理解。

Matlab提供了多种图像增强方法,以下将介绍其中的两种常用方法。

1. 直方图均衡化直方图均衡化是一种通过对图像像素值的分布进行调整,增强图像对比度的方法。

在Matlab中,可以使用"histeq"函数进行直方图均衡化处理。

该函数能够将图像的像素值分布拉伸到整个灰度级范围内,提高图像的动态范围和对比度。

2. 锐化增强锐化增强是一种通过增强图像边缘和细节来改善图像质量的方法。

在Matlab中,可以使用"imsharpen"函数进行图像的锐化增强处理。

基于MATLAB的数字图像平滑和锐化处理算法分析

基于MATLAB的数字图像平滑和锐化处理算法分析

基于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的数字图像锐化

吉林化工学院信息与控制工程学院专业设计说明书专业综合设计任务书一.设计题目:基于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的图像锐化及边界提取

摘要图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些冗余信息的处理方法。

其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。

图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。

本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、平滑和锐化等几种常用的增强方法、彩色图像增强的理论基础,通过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的图像锐化算法研究与仿真

摘要在获取图像的过程中,由于多种因素的影响,导致图像质量会有所退化。

图像增强的目的在于通过处理有选择地突出便于人或机器分析某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值。

图像锐化正是图像增强中空间域局部运算方法中的一种,其目的是增强和判断图像的边缘和轮廓信息。

而图像锐化的具体方法就是通过微分而使图像边缘突出、清晰。

图像锐化最常用的方法是梯度锐化法,但除梯度算法外,图像锐化的方法还有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 is gradient 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毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。

图像锐化处理实验报告

图像锐化处理实验报告

图像锐化处理实验报告图像锐化处理实验报告一.实验目的学会用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代码

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实现》图像增强与平滑实验

《数字图像处理及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实现数字图象锐化处理

数字图象处理课程设计报告设计题目: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拉普拉斯算子锐化的代码

一、概述matlab是一种用于科学计算和工程设计的软件,其强大的功能使得它在图像处理领域尤为突出。

而拉普拉斯算子在图像处理中被广泛用于图像的锐化,能够突出图像的边缘和细节,从而提高图像的清晰度和质量。

在matlab中,编写拉普拉斯算子的代码能够帮助工程师和科学家实现图像的优化处理。

本文将介绍matlab中拉普拉斯算子的代码编写方法,帮助读者快速掌握图像处理的技术。

二、拉普拉斯算子原理1. 拉普拉斯算子是一种二阶偏微分算子,用于描述图像中灰度的变化程度。

在图像处理中,拉普拉斯算子可以用于检测图像中的边缘和细节,帮助图像的锐化和增强。

2. 拉普拉斯算子在二维图像中的离散形式可以表示为以下公式:Δf(x, y) = f(x+1, y) + f(x-1, y) + f(x, y+1) + f(x, y-1) - 4*f(x, y)其中,Δf(x, y)表示图像中像素点(x, y)处的拉普拉斯算子值,f(x, y)表示图像中像素点(x, y)处的灰度值。

三、matlab中拉普拉斯算子的代码编写在matlab中,可以利用内置的函数和操作符来实现拉普拉斯算子的计算和图像的锐化。

下面是一个基本的matlab代码示例:```matlab读取原始图像original_image = imread('image.jpg');将原始图像转化为灰度图gray_image = rgb2gray(original_image);使用laplacian函数计算图像的拉普拉斯算子laplacian_image = del2(double(gray_image));将计算得到的图像进行锐化处理sharpened_image = imadd(double(gray_image),laplacian_image);显示原始图像和处理后的图像subplot(1, 2, 1);imshow(gray_image);title('Original Image');subplot(1, 2, 2);imshow(sharpened_image, []);title('Sharpened Image');```上述代码首先通过imread函数读取原始图像,并利用rgb2gray函数将其转换为灰度图。

数字图像处理matlab代码

数字图像处理matlab代码

一、编写程序完成不同滤波器的图像频域降噪和边缘增强的算法并进行比较,得出结论。

1、不同滤波器的频域降噪1.1 理想低通滤波器(ILPF)和二阶巴特沃斯低通滤波器(BLPF)clc;clear all;close all;I1=imread('me.jpg');I1=rgb2gray(I1);subplot(2,2,1),imshow(I1),title('原始图像');I2=imnoise(I1,'salt & pepper');subplot(2,2,2),imshow(I2),title('噪声图像');F=double(I2);g = fft2(F);g = fftshift(g);[M, N]=size(g);result1=zeros(M,N);result2=zeros(M,N);nn = 2;d0 =50;m = fix(M/2);n = fix(N/2);for i = 1:Mfor j = 2:Nd = sqrt((i-m)^2+(j-n)^2);h = 1/(1+0.414*(d/d0)^(2*nn));result1(i,j) = h*g(i,j);if(g(i,j)< 50)result2(i,j) = 0;elseresult2(i,j) =g(i,j);endendendresult1 = ifftshift(result1);result2 = ifftshift(result2);J2 = ifft2(result1);J3 = uint8(real(J2));subplot(2, 2, 3),imshow(J3,[]),title('巴特沃斯低通滤波结果'); J4 = ifft2(result2);J5 = uint8(real(J4));subplot(2, 2, 4),imshow(J5,[]),title('理想低通滤波结果');实验结果:原始图像噪声图像巴特沃斯低通滤波结果理想低通滤波结果1.2 指数型低通滤波器(ELPF)clc;clear all;close all;I1=imread('me.jpg');I1=rgb2gray(I1);I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);subplot(1,3,1),imshow(I2), title('原始图像'); %显示原始图像subplot(1,3,2),imshow(I4),title('加入混合躁声后图像 ');s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=40;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h=exp(log(1/sqrt(2))*(d/d0)^2);s(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s)));subplot(1,3,3),imshow(s),title('ELPF滤波后的图像(d=40)');运行结果:1.3 梯形低通滤波器(TLPF)clc;clear all;close all;I1=imread('me.jpg');I1=rgb2gray(I1); %读取图像I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);subplot(1,3,1),imshow(I2),title('原始图像'); %显示原始图像subplot(1,3,2),imshow(I4),title('加噪后的图像');s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=10;d1=160;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 if (d<=d0)h=1;else if (d0<=d1)h=(d-d1)/(d0-d1);else h=0;endends(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数subplot(1,3,3),imshow(s),title('TLPF滤波后的图像');运行结果:1.4 高斯低通滤波器(GLPF)clear all;clc;close all;I1=imread('me.jpg');I1=rgb2gray(I1);I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);subplot(1,3,1),imshow(I2),title('原始图像');subplot(1,3,2),imshow(I4),title('加噪后的图像');s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=40;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h=1*exp(-1/2*(d^2/d0^2)); %GLPF滤波函数s(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数subplot(1,3,3),imshow(s),title('GLPF滤波后的图像(d=40)');运行结果:1.5 维纳滤波器clc;clear all;close all;I=imread('me.jpg'); %读取图像I=rgb2gray(I);I1=im2double(I);I2=imnoise(I1,'gaussian',0.01);I3=imnoise(I2,'salt & pepper',0.01);I4=wiener2(I3);subplot(1,3,1),imshow(I1),title('原始图像'); %显示原始图像subplot(1,3,2),imshow(I3),title('加入混合躁声后图像');I4=wiener2(I3);subplot(1,3,3),imshow(I4),title('wiener滤波后的图像');运行结果:结论:理想低通滤波器,虽然有陡峭的截止频率,却不能产生良好的效果,图像由于高频分量的滤除而变得模糊,同时还产生振铃效应。

第6章 图像增强-锐化

第6章 图像增强-锐化
数字图像处理
------MATLAB图像增强之锐化
图像锐化

原因:对焦不准、景物的相对运动、采样率低均有可能 造成图像模糊、不清晰。

基本思想:通过消除或减弱图像的低频分量从而增强图
像中的纹理、边缘信息,使边缘和轮廓线模糊的图像变 得清晰(即除边缘以外的像素点的灰度值趋于零),使 其细节也ag(f ) [G G ]
2 x
f f [( ) 2 ( ) 2 ] 2 x y
1
(4.11)
为了降低运算量,常用绝对值或最大值运算代替 平方与平方根运算近似求梯度的幅度:
f | Gx | | G y |
f max(|Gx |, | Gy |)
定灰度LG ,而小于该阈值T时选用固定的灰度LB 。
LG , f (i, j ) T g (i, j ) LB , 其他
(4.20)
该法生成的是二值图,根据阈值将图像分成边缘和
背景,便于研究边缘所在的位置。

例116面 例4-13
clc [i,map]=imread('pout.tif'); figure,subplot(2,3,1),imshow(i,map); i=double(i); [ix,iy]=gradient(i); % 求梯度 gm=sqrt(ix.*ix+iy.*iy); % 求梯度幅度 out1=gm; subplot(2,3,2),imshow(out1,map);
g (i, j ) f (i, j )
缺点:输出的图像在灰度变化比较小的区域, g(i,j)很小,显示的是一片黑色。

第二种方法: 对梯度值超过某阈值T的像素选用梯
度值,而小于T时选用原像素点值。

MATLAB图像处理工具箱的使用方法

MATLAB图像处理工具箱的使用方法

MATLAB图像处理工具箱的使用方法导言:MATLAB作为一种常用的数学软件,被广泛应用于科学研究和工程领域。

其中的图像处理工具箱(Image Processing Toolbox)提供了许多功能强大的工具,用于处理和分析图像数据。

本文将介绍一些常用的图像处理工具箱的使用方法,帮助读者更好地掌握这一工具箱的优势。

一、图像的读取和显示要使用MATLAB进行图像处理,首先需要将图像读入MATLAB环境中,并显示出来。

通过imread函数可以方便地读取图像文件,如下所示:img = imread('image.jpg');这将会将名为'image.jpg'的图像读入img变量中。

接下来,使用imshow函数可以将图像显示在MATLAB的图像窗口中:imshow(img);通过这种方式,我们可以直观地了解图像的内容和特征。

二、图像的灰度化和二值化在很多图像处理应用中,我们常常需要将图像转换为灰度图像或二值图像。

在MATLAB中,可以使用rgb2gray函数将彩色图像转换为灰度图像:gray_img = rgb2gray(img);这将把彩色图像img转换为灰度图像gray_img。

接下来,使用im2bw函数可以将灰度图像转换为二值图像:binary_img = im2bw(gray_img);这将把灰度图像gray_img转换为二值图像binary_img。

通过灰度化和二值化的处理,我们可以更方便地进行后续的图像分析和处理。

三、图像的平滑处理图像中常常存在噪声,这会对后续的分析和处理造成一定的干扰。

为减少这种噪声的影响,可以对图像进行平滑处理。

在MATLAB中,有多种方法可以实现图像的平滑处理,其中较常用的是均值滤波和高斯滤波。

通过使用函数imgaussfilt和imfilter,可以分别实现高斯滤波和均值滤波:smooth_img = imgaussfilt(img);或者smooth_img = imfilter(img, fspecial('average', [3 3]));这些函数可以在图像中应用指定的滤波器来平滑图像,从而减少噪声的干扰。

MATLAB实现数字图像锐化处理

MATLAB实现数字图像锐化处理
后 的 对 照 图像 。
为不 同请 求选择不 同的业务模型 。
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的几种图像锐化处理算法研究

第34卷第12期2018年12月商丘师范学院学报JOURNAL OF SHANGQIU NORMAL UNIVERSITY Vol.34No.12Dec.2018收稿日期:2017-12-17作者简介:关雪梅(1976—),女,满族,辽宁省大连人,辽宁对外经贸学院教授,硕士,主要从事计算机图像处理的研究.基于Matlab 的几种图像锐化处理算法研究关雪梅(辽宁对外经贸学院基础课教研部,辽宁大连116052)摘要:在社会各行业中数字图像处理技术应用非常广泛,由于Matlab 工具软件处理图像具有简单而直接的特点,大部分图像处理过程是在Matlab 上实现的.在进行数字图像处理时,经常要通过图像锐化处理来突出图像的边界信息,本文主要进行基于Matlab 的几种图像锐化处理算法分析比较研究,以便在后续的图像处理过程中能既快又精准地完成数字图像的转换.关键词:Matlab ;Roberts 算子;Sobel 算子;Laplacian 算子;Prewitt 算子中图分类号:TP391.41文献标识码:A 文章编号:1672-3600(2018)12-0012-03Several studies sharpening image processing algorithms based on MatlabGUAN Xuemei(Basic Course Teaching and Research Department ,Liaoning University of International Business and Economics ,Dalian 116052,China )Abstract :Digital image processing technology is widely applied in all sectors of society.Because Matlab tool processing software has simple and direct characteristics ,most image processing processes are implemented on Matlab.In digital image processing ,often to highlight the image edge information by image sharpening ,this article mainly carries on the comparative study of several Matlab algorithm based on image sharpening processing ,so as to be able to quickly and accurately complete digital image conversion in the process of image processing in the subsequent.Key words :Matlab ;Roberts operator ;Sobel operator ;Laplacian operator ;Prewitt operator近几年来计算机图形图像处理技术飞速发展,已成功应用于社会与成像有关的领域.计算机对图像进行处理分为原始图像处理,图像特征提取和图像识别分析三个部分.原始图像的处理包括图像增强、平滑滤波、图像锐化等内容.原始图像在传输的过程中会受到外界环境等诸多因素的影响,因而我们需要对原始图像进行处理,提取有用的图像数据.本文主要研究用Matlab 进行图像锐化处理.对图像进行锐化处理的目的有两个:一是加强图像边缘效果,使模糊图像有较高的辨识度,图像的这种模糊往往不是由于操作不当,而是在获取图像的时候受到的影响.二是对研究对象的边界进行提取,进行图像分割,更利于识别目标图像.经过锐化处理后的图像,图像的效果更适合人进行识别和观察.Matlab 的全称为Matrix Laboratory ,矩阵实验室.20世纪70年代末,它是由美国CleveMoler 博士在讲授数据分析和矩阵理论等课程时编写的软件包Linpack 和Eispack 组成.是一种非常便捷的工具软件,应用于数学、计算机、遥感、信息工程、机械工程等领域.Matlab 软件之所以被广泛应用于图像处理领域是因为它特有的数学矩阵运算功能.Matlab 软件在对图像进行处理时,首先要将原始图像经过数字化运算形成新的矩阵对应的数字图像,然后利用Matlab 软件中强大的图像处理工具箱(Image Processing Toolbox )中的图像处理系统函数对数字图像进行处理操作,这样就可以把用户从繁琐的数学计算和分析中解脱出来.Matlab 的运算功能极强,广泛应用在科学计算领域,尤其对矩阵处理能力简单高效.本文主要是运用Matlab 强大的科学运算能力和矩阵处理能力进行数字图像锐化处理研究.1Roberts 算子边缘是图像最基本的特征,图像边缘是由灰度的不连续性而产生的,Roberts 边缘检测算子是一种局部差分算子寻找边缘的算子.它的原理是把图像对角线方向两个相邻的像素做差运算来近似梯度的幅值,从而检测出图像边缘.依据梯度值可以用互相垂直方向的差分来估计,Roberts 算子采用的是沿对角线方向相邻两像素进行差运算:Δx R=R(x ,y )-R(x -1,y -1)Δy R=R(x -1,y )-R(x ,y -1)它的幅值为:G (x ,y )=Δx R2+Δy R槡2设置x -12,y -()12为中心点,Roberts 算子计算了中心点处450和1350方向相互正交的灰度变化.合理选择阈值T ,当G (x ,y )>T ,其中(x ,y )为阶跃状边缘点.Roberts 边缘检测算子采用模板01[]-10和10[]0-1对图像进行卷积运算.Roberts 算子是一种比较简单的图像锐化算子,对于处理低噪音陡峭的图像效果不错,但是通过Roberts 边缘检测算子提取图像的边缘一般都是比较粗糙,在特殊图像边缘处理中不是很理想.2Sobel 算子Sobel 算子也是一种图像边界信息检测算子,提取图像明暗度的近似值进行运算的差分算子.在数字图像中一般图像的边界部分明暗改变比较显著,一般我们把在该区域内超过一定范围的点作为我们要处理的边界点.Sobel 算子与Prewitt 算子有类似之处,它也有水平和垂直的3*3模板的两个模板.F (x ,y )定义如下:A =[F (x -1,y -1)+2F (x -1,y )+F (x -1,y +1)]-[F (x +1,y -1)+2F (x +1,y )+F (x +1,y +1)]B =[F (x -1,y -1)+2F (x ,y -1)+F (x +1,y -1)]-[F (x -1,y -1)+2F (x ,y +1)+F (x +1,y +1)]则:S (x ,y )=max (A ,B )经过Sobel 算子进行图像处理后,图像的幅值会有所增强.M =S 2x +S 2槡y 偏导数计算公式如下:S x =(a 0+ca 1+a 2)-(a 6+ca 5+a 4)S y =(a 0+ca 1+a 2)-(a 6+ca 5+a 4)以下为进行垂直梯度模板和水平梯度模板的检测方法,检测原理如下:G (x ,y )=D 2x (x ,y )+D 2y (x ,y 槡)其中水平检测模板和垂直检测模板分别为:D x =-101-202[]-101D y =-1-2-1000[]121一般来说,相距之差越大,对图像处理结果的影响就越大,上述两个公式对垂直和水平方向产生的影响最大,经过数据处理运算就会得出一副边缘图像.3Laplacian 算子Laplacian 算子可以有效地提取图像的边界信息,它可以把图像中的高频部分和低频部分进行区分,从而达到边缘检测的目的.由于图像的低频部分一般都是图像背景,所以在进行图像边缘检测的过程中,同时保留高频部分和低频部分,以保证图像的信息完整.把通过Laplacian 算子检测出的边界信息和原始图像进行累加运算,就可以达到图像信息增强的目的.Laplacian 算子模板如下:2F (x ,y )=F (x -1,y -1)+F (x -1,y )+F (x -1,y +1)+F (x ,y +1)+F (x +1,y +1)+F (x +1,y )+F (x +1,y -1)+F (x ,y -1)-8F (x ,y )因而采用Laplacian 算子进行图像增强的方法为:F E (x ,y )=F (x ,y )-Δ2F (x ,y )其中,F (x ,y )为原始数字图像,Δ2F (x ,y )是通过Laplacian 算子进行边缘检测后的图像,把后者公式带入前者可得图像为:F E =9F (x ,y )-F (x -1,y -1)-F (x -1,y )-F (x -1,y +1)-F (x ,y -1)-F (x ,y +1)-F (x +1,y -1)-F (x +1,y )-F (x +1,y +1)Laplacian 算子进行图像边缘检测,计算简单,在图像线处理过程中很有优势,对于目标图像和背景图像差别很大的数字图像,Laplacian 算子可以达到很好的处理效果.4Prewitt 算子在使用微分算子进行图像边缘检测时通常选取Prewitt 算子,在进行图像处理时首先进行梯度的平均值计算,在通过差分来实现最终的处理结果.Prewitt 算子的设计原理是在特定区域进行两个方向样本和图像进行卷积运算来实现的,可以通过这两个方法来进行垂直方向和水平方向测试.利用Prewitt 算子对F (x ,y )的定义如下:G (x )=[F (x -1,y -1)+F (x -1,y )+F (x -1,y +1)]-[F (x +1,y -1)+F (x +1,y )+F (x +1,y +1)]G (y )=[F (x -1,y +1)+F (x ,y +1)+F (x +1,y +1)]-[F (x -1,y -1)+F (x ,y -1)+F (x +1,y -1)]31第12期关雪梅:基于Matlab 的几种图像锐化处理算法研究P (x ,y )=max [G (x ),G (y )]以下为进行垂直梯度模板和水平梯度模板的检测方法,检测原理如下:G (x ,y )=G 2x (x ,y )+G 2y (x ,y 槡)其中水平检测模板和垂直检测模板分别为:G x =-101-101[]-101G y =111000[]-1-1-1可以采用Prewitt 算子通过像素求平均值对图像进行边缘锐化处理,在边界处达到了极值检测边缘,但基本丢失了角点信息,锐化图像的精确度不是很高.5几种图像锐化处理算法在Matlab 上的实现利用Matlab 平台进行图像锐化处理,Roberts 算子、Sobel 算子、Laplacian 算子和Prewitt 算子实现图像锐化的程序如下:Yuantu =imread ('yuantu.png');%提取图像BW1=edge (yuantu ,'roberts');%用Roberts 算子进行边缘检测BW2=edge (yuantu ,'sobel');%用Sobel 算子进行边缘检测BW3=edge (yuantu ,'Laplacian');%用Laplacian 算子进行边缘检测BW4=edge (yuantu ,'prewitt');%用prewitt 算子进行边缘检测subplot (2,3,1),imshow (BW1);title ('roberts edge check');subplot (2,3,2),imshow (BW2);title ('sobel edge check');subplot (2,3,3),imshow (BW3);title ('laplacian edge check');subplot (2,3,4),imshow (BW4);title ('prewitt edge check');处理效果如下图所示:lena 原图sobel 图Laplacian 图Roberts 图prewitt 图本文主要是采用Matlab 技术对图像进行锐化处理算法研究,实验结果说明利用Matlab 进行图像锐化处理效率高,并且在图像处理方面有很高的实用价值.6算法分析与总结通过上述实验,我们可以看出采用Laplacian 算子进行图像边缘检测时的方向性不是很准确,在处理过程中经常丢失方向信息,导致处理后的图像边界信息不连续,对噪音较敏感.Roberts 算子进行图像锐化处理简单并且容易实现,但对噪音的要求较高,在较小的情况下垂直和水平两个方向的图像锐化效果比较不错.Prewitt 算子和Sobel 算子比较类似,在处理图像的权值设置有所不同,都具有去噪的能力,它们都能检测出图像的一些虚假边界信息,检测结果图像像素较宽,Sobel 算子对渐变的灰度图像处理效果尤为突出.本文主要以Matlab 作为工具软件,重点对SOBEL 算子、Roberts 算子、prewitt 算子及Laplacian 算子进行图像边缘检测分析研究.Matlab 软件功能非常强大,运算方法简洁易理解,通过简单的程序就可以完成相对复杂的图像处理过程,可以既快又精准地完成数字图像转换,在一定程度上推进了图像处理的全过程,达到边缘检测满意的效果.参考文献:[1]胡小军,徐飞.MATLAB 应用图像处理[M ].西安:西安科技大学出版社,2011.[2]蒋伟,陈辉.基于分数阶微分和sobel 算子的边缘检测新模型[J ].计算机工程与应用,2012,48(4):182-185.[3]杨帆.数字图像处理及应用[M ].北京:化学工业出版社,2013.[4]郭磊,黄锋华,邱静.基于MATLAB 图像处理的潮位数字化方法及应用[J ].长江科学院院报,2014(7):86-90.[5]郭平,赵刚,张晶.基于MATLAB 数字图像处理的方法应用教学[J ].山东工业技术,2015(03):144-148.[6]孙晓昕.基于FPGA 的数字图像压缩去噪方法研究及MATLAB 实现[D ].黑龙江大学,2015.[7]王耀菊.Matlab 在图像后处理方面的应用实践及效果分析[J ].电脑知识与技术,2016(02):55-58.[责任编辑:王军]41商丘师范学院学报2018年。

Matlab图像锐化处理及边缘检测

Matlab图像锐化处理及边缘检测

Matlab图像锐化处理及边缘检测本章要点:图像边缘锐化的基本方法微分运算梯度锐化边缘检测6.1 图像边缘锐化的基本方法物体的边缘是以图像局部特性不连续性的形式出现。

本质上边缘常意味着一个区域的终结和另一个区域的开始。

图像边缘信息在图像分析和人的视觉中都是十分重要的,是图像识别中提取图像特征的一个重要特性。

图像的边缘有方向和幅度两个特性。

通常,延边缘走向的像素变化平缓,而垂直于边缘走向的像素变化剧烈。

边缘的描述包含以下几个方面:(1)边缘点——它两边像素的灰度值有显著的不同。

边缘点也存在于这样一对邻点之间即一个在较亮的区域内部,另一个在外部。

(2)边缘法线方向——在某点灰度变化最剧烈的方向,与边缘方向垂直。

(3)边缘方向——与边缘法线方向垂直,是目标边界的切线方向。

(4)边缘位置——边缘所在的坐标位置。

(5)边缘强度——沿边缘法线方向图像局部的变化强度的量度。

粗略地区分边缘种类可以有两种,其一是阶跃状边缘,它两边像素的灰度值有显著的不同,其二是屋顶状边缘,它位于灰度值从增加到减少的变化转折点。

这些变化分别对应景物中不同的物理状态。

边缘是图像上灰度变化比较剧烈的地方,如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级的变化带。

对这种变化最有用的两个特征是灰度的变化率和方向,在灰度变化突变处进行微分,将产生高值。

经典的边缘提取方法是考虑图像的每个像素在某个领域内的变化,利用边缘邻近一阶或二阶方向导数变化规律,来检测边缘。

图像灰度值的显著变化可以用一阶差分替代一阶微分的梯度来表示,它们分别以梯度向量的幅度和方向来表示。

因此图像中陡峭边缘的梯度值将是很大的;那些灰度变化平缓的地方,梯度值是比较小的;而那些灰度值相同的地方,梯度值将为零。

图像经过梯度运算能灵敏地检测出边界线,这种微分边缘检测算子运算简单易行,但有方向性。

利用计算机进行图像锐化处理有两个目的,一是与柔化处理相反,增强图像边缘,使模糊的图像变得更加清晰起来,颜色变得鲜明突出,图像的质量有所改善,产生更适合人观察和识别的图像,本章的梯度锐化就是介绍这方面的内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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线性锐化滤波器
线性高通滤波器是最常用的线性锐化滤波器。

这种滤波器必须满足滤波器的中心系数为正数,其他系数为负数。

线性高通滤波器3 ×3 模板的典型系数如表1 所示:
表 1
用线性高通滤波实现图像锐化的程序和图像如下:
F=imread('F:/text.png'); %读入图像
f=rgb2gray(F);
h=double(f); %转化为double 类型
g=[-1 -1 -1; -1 8 -1; -1 -1 -1];%线性高通滤波3×3 模板
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)
比较有名的微分滤波器算子包括Sobel 梯度算子、Prewitt 梯度算子和log 算子等等。

用Sobel 梯度算子实现图像锐化的程序和图像如下:
i=imread('F:/text.png');%读入图像
I=rgb2gray(i);
subplot(1,2,1),imshow(I);title('原图像');%显示原图像
H=fspecial('sobel'); %应用sobel 算子锐化图像
I2=filter2(H,I); %sobel 算子滤波锐化
subplot(1,2,2);imshow(I2);%显示sobel 算子锐化图像
title('sobel 算子锐化图像');
用Prewitt 梯度算子实现图像锐化的程序和图像如下:
原图
像sobel 算子锐化图像
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 算子锐化图像');
用log 梯度算子实现图像锐化的程序和图像如下:
i=imread('F:/text.png');%读入图像
I=rgb2gray(i);
subplot(1,2,1),imshow(I);title('原图像');%显示原图像
H=fspecial('log'); %应用log 算子锐化图像
I4=filter2(H,I); %log 算子滤波锐化
subplot(1,2,2);imshow(I4);%显示log 算子锐化图像
title('log 算子锐化图像');
原图
像prewitt 算子锐化图像
3.结束语
本文就MATLAB 在数字图像锐化处理方面进行了阐述、讨论。

实验结果表明应用MATLAB 进行数字图像处理具有理想的效果和很高的工程价值。

当然,MATLAB 图像处理工具箱中所提供的图像处理功能远不止这些。

可以说,MATLAB 为数字图像处理提供了一种简单、快捷而又有效的方法,大大提高了数字图像处理的效率及效果并且应用到图像处理的各个方向。

参考文献:
[1]韩晓军,苗长云,王亚青.基于标准图像文件格式的数字图像处理方法[J]. 阜新:辽宁工程技术大学学报(自然科学版).2000,19(4)
[2]柏春岚.基于空域图像增强的研究与分析[J].河南城建学院学报.2011,20(1)
[3]关雪梅.基于空域的图像增强技术研究.赤峰学院学报.2012,28(4)
[4]曾嘉亮.基于边缘检测的图像锐化算法.《现代电子技术》.2006,12(227)
[5]卢允伟,陈友荣.基于拉普拉斯算法的图像锐化算法研究和实现. Computer Knowledge and Technology 电脑知识与技术.2009,5(6)
原图
像。

相关文档
最新文档