当前位置:文档之家› 数字图像处理实验报告(图像边缘检测)

数字图像处理实验报告(图像边缘检测)

数字图像处理实验报告(图像边缘检测)
数字图像处理实验报告(图像边缘检测)

实验报告

实验名称实验三图像边缘检测课程名称数字图像处理

姓名成绩

班级学号

日期地点

备注:

1、实验目的

(1)了解并掌握使用微分算子进行图像边缘检测的基本原理;

(2)编写程序使用Laplacian 算子(二阶导数算子)实现图像锐化,进一步理解图像锐化的实质;

(3)掌握使用不同梯度算子(一阶导数算子)进行图像边缘检测的原理、方法,根据实验结果分析各种算子的工作效果;

(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。

2、实验环境

(1)Windows XP/7

(2)Matlab 7.1/7.14

3、实验方法

本次实验要求对256×256大小,256级灰度的数字图像lena.img进行处理。

(1)对该图像进行锐化处理,要求采用Laplacian算子进行锐化,分α=1和α=2两种情况,按如下不同情况进行处理:

①g1(m,n)=f(m,n)-α?f

②g2(m,n)=4αf(m,n)-α[f(m-1,n)+f(m+1,n)+f(m,n-1)+f(m,n+1)]

I、要对图像进行处理,要先读取该图像,实验代码如下:

close all;

clear all;

fid=fopen('lena.img','r');

image=fread(fid,[256,256],'uint8');

fclose(fid);

II、读取图像后,对该图像的每一像素(不考虑图像的边界部分)进行遍历,根据公式①(公式①相当于做差分)对每一灰度进行计算,将所得的结果存入一矩阵g1中(矩阵g1初始化为该图像的矩阵),代码如下(仅以ɑ=1为例):

g1=image;

a=1;

[x,y]=size(image);

for i=2:(x-1)

for j=2:(y-1)

g1(i,j)=(1+4*a)*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));

end

end

III、根据公式②对图像的每一个像素(不考虑图像的边界部分)进行计算,将所得之

存入矩阵g2中(g2初始化值为该图像的矩阵值),具体方法与上一步类似,代码如下(仅以ɑ=1为例):

g2=image;

a=1;

[x,y]=size(image);

for i=2:(x-1)

for j=2:(y-1)

g2(i,j)=4*a*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));

end

end

(2)分别利用Roberts、Prewitt 和Sobel 边缘检测算子,对原图像进行边缘检测,显

示处理前、后图像。

I、同(1)中I,不再赘述。

II、对图像进行边缘检测,要对图像的每一像素(不考虑图像的边界部分)的灰度进行遍历,分别用公式对图像的水平和垂直方向的边缘进行检测,并分别存储,在进行合成。采用不同的算子时,变换的公式有所不同。在合成时可以采用三种算法(街区法、棋盘法、欧式几何法),本次实验中均又采用,所以得到三层图像。代码如下(仅以街区法的Roberts 算子为例):

[x,y]=size(image);

g1=image;

gh1=image;

gv1=image;

for i=2:(x-1)

for j=2:(y-1)

gh1(i,j)=image(i,j)-image(i-1,j-1);

gv1(i,j)=image(i,j-1)-image(i-1,j);

g1(i,j)=abs(gh1(i,j))+abs(gv1(i,j));

end

end

4、实验结果分析

(1)、图像锐化

图像锐化结果如图a和图b(注:图a为情况①结果;图b为情况②结果):

图a

图b

由图a和图b对比可知,图像的锐化实质就是原图像与梯度信息进行叠加,相对于原图像而言,图像的边缘信息得到了加强。由图b中不同ɑ值所得图像对比可知,ɑ越大,边界越

清晰,同时对比图a中不同ɑ值所得图像可知,ɑ的大小决定梯度信息与原图像叠加时所占的比例。

(2)、图像边缘检测

街区法、棋盘法、欧式距离法的不同检测算子结果分别入图c、图d和图e:

图c

图d

图e

由图c、图d和图e对比可知,采用街区法所得的边界清晰度最高,欧式几何法其次,棋盘法最差。对比同一张图中的不同子图可知,Sobel算子的性能更好,Prewitt算子其次,

Roberts算子最差。

5、实验结论

本次实验是对图像进行锐化和边缘检测,通过这次实验,我对数字图像处理中图像的锐化和边缘检测有了更加深刻的了解。加深了图像锐化和边缘检测的原理,掌握了图像边缘检测的不同方法。学会了使用Laplacian算子(二阶导数算子)实现图像锐化的程序编写;掌握了使用不同梯度算子(一阶导数算子)进行图像边缘检测的原理、方法。

6、源代码

(1)图像锐化(g1)

close all;

clear all;

fid=fopen('lena.img','r');

image=fread(fid,[256,256],'uint8');

fclose(fid);

subplot(221);

imshow(uint8(image),[]);

title('原图像');

%采用拉普拉斯算子

g1=image;

a=1;

[x,y]=size(image);

for i=2:(x-1)

for j=2:(y-1)

g1(i,j)=(1+4*a)*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));

end

end

subplot(222);

imshow(uint8(g1),[]);

title('a=1时g1的图像');

g1=image;

a=2;

[x,y]=size(image);

for i=2:(x-1)

for j=2:(y-1)

g1(i,j)=(1+4*a)*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));

end

end

subplot(223);

imshow(uint8(g1),[]);

title('a=2时g1的图像');

(2)图像锐化(g2)

close all;

clear all;

fid=fopen('lena.img','r');

image=fread(fid,[256,256],'uint8');

fclose(fid);

subplot(221);

imshow(uint8(image),[]);

title('原图像');

%采用拉普拉斯算子

g2=image;

a=1;

[x,y]=size(image);

for i=2:(x-1)

for j=2:(y-1)

g2(i,j)=4*a*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));

end

end

subplot(222);

imshow(uint8(g2),[]);

title('a=1时g2的图像');

g2=image;

a=2;

[x,y]=size(image);

for i=2:(x-1)

for j=2:(y-1)

g2(i,j)=4*a*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));

end

end

subplot(223);

imshow(uint8(g2),[]);

title('a=2时g2的图像');

(3)边缘检测

close all;

clear all;

fid=fopen('lena.img','r');

image=fread(fid,[256,256],'uint8');

fclose(fid);

figure('Name','街区法','NumberTitle','off');

subplot(221);

imshow(uint8(image),[]);

title('原图像');

[x,y]=size(image);

g1=image;

gh1=image;

gv1=image;

for i=2:(x-1)

for j=2:(y-1)

gh1(i,j)=image(i,j)-image(i-1,j-1);

gv1(i,j)=image(i,j-1)-image(i-1,j);

g1(i,j)=abs(gh1(i,j))+abs(gv1(i,j));

end

end

subplot(222);

imshow(uint8(g1),[]);

title('Roberts算子');

g2=image;

gh2=image;

gv2=image;

for i=2:(x-1)

for j=2:(y-1)

gh2(i,j)=((image(i+1,j-1)+image(i+1,j)+image(i+1,j+1))/3)-((image(i-1,j-1)+image(i-1,j)+im age(i-1,j+1))/3);

gv2(i,j)=((image(i-1,j+1)+image(i,j+1)+image(i+1,j+1))/3)-((image(i-1,j-1)+image(i,j-1)+im age(i+1,j-1))/3);

g2(i,j)=abs(gh2(i,j))+abs(gv2(i,j));

end

end

subplot(223);

imshow(uint8(g2),[]);

title('Prewitt算子');

g3=image;

gh3=image;

gv3=image;

for i=2:(x-1)

for j=2:(y-1)

gh3(i,j)=(image(i+1,j-1)+2*image(i+1,j)+image(i+1,j+1)-image(i-1,j-1)-2*image(i-1,j)-imag e(i-1,j+1))/4;

e(i+1,j-1))/4;

g3(i,j)=abs(gh3(i,j))+abs(gv3(i,j));

% g3(i,j)=max(gh3(i,j),gv3(i,j));

% g3(i,j)=sqrt(gh3(i,j)*gh3(i,j)+gv3(i,j)*gv3(i,j));

end

end

subplot(224);

imshow(uint8(g3),[]);

title('Sobel算子');

% subplot(235)

% imshow(uint8(gh3),[]);

% title('检测水平边界');

% subplot(236);

% imshow(uint8(gv3),[]);

% title('检测竖直边界');

figure('Name','棋盘法','NumberTitle','off');

subplot(221);

imshow(uint8(image),[]);

title('原图像');

[x,y]=size(image);

g1=image;

gh1=image;

gv1=image;

for i=2:(x-1)

for j=2:(y-1)

gh1(i,j)=image(i,j)-image(i-1,j-1);

gv1(i,j)=image(i,j-1)-image(i-1,j);

% g1(i,j)=abs(gh1(i,j))+abs(gv1(i,j));

g1(i,j)=max(gh1(i,j),gv1(i,j));

end

end

subplot(222);

imshow(uint8(g1),[]);

title('Roberts算子');

g2=image;

gh2=image;

gv2=image;

for i=2:(x-1)

for j=2:(y-1)

gh2(i,j)=((image(i+1,j-1)+image(i+1,j)+image(i+1,j+1))/3)-((image(i-1,j-1)+image(i-1,j)+im age(i-1,j+1))/3);

age(i+1,j-1))/3);

% g2(i,j)=abs(gh2(i,j))+abs(gv2(i,j));

g2(i,j)=max(gh2(i,j),gv2(i,j));

end

end

subplot(223);

imshow(uint8(g2),[]);

title('Prewitt算子');

g3=image;

gh3=image;

gv3=image;

for i=2:(x-1)

for j=2:(y-1)

gh3(i,j)=(image(i+1,j-1)+2*image(i+1,j)+image(i+1,j+1)-image(i-1,j-1)-2*image(i-1,j)-imag e(i-1,j+1))/4;

gv3(i,j)=(image(i-1,j+1)+2*image(i,j+1)+image(i+1,j+1)-image(i-1,j-1)-2*image(i,j-1)-imag e(i+1,j-1))/4;

g3(i,j)=abs(gh3(i,j))+abs(gv3(i,j));

g3(i,j)=max(gh3(i,j),gv3(i,j));

% g3(i,j)=sqrt(gh3(i,j)*gh3(i,j)+gv3(i,j)*gv3(i,j));

end

end

subplot(224);

imshow(uint8(g3),[]);

title('Sobel算子');

figure('Name','欧式几何法','NumberTitle','off');

subplot(221);

imshow(uint8(image),[]);

title('原图像');

[x,y]=size(image);

g1=image;

gh1=image;

gv1=image;

for i=2:(x-1)

for j=2:(y-1)

gh1(i,j)=image(i,j)-image(i-1,j-1);

gv1(i,j)=image(i,j-1)-image(i-1,j);

% g1(i,j)=abs(gh1(i,j))+abs(gv1(i,j));

% g1(i,j)=max(gh1(i,j),gv1(i,j));

g1(i,j)=sqrt(gh1(i,j)*gh1(i,j)+gv1(i,j)*gv1(i,j));

end

end

subplot(222);

imshow(uint8(g1),[]);

title('Roberts算子');

g2=image;

gh2=image;

gv2=image;

for i=2:(x-1)

for j=2:(y-1)

gh2(i,j)=((image(i+1,j-1)+image(i+1,j)+image(i+1,j+1))/3)-((image(i-1,j-1)+image(i-1,j)+im age(i-1,j+1))/3);

gv2(i,j)=((image(i-1,j+1)+image(i,j+1)+image(i+1,j+1))/3)-((image(i-1,j-1)+image(i,j-1)+im age(i+1,j-1))/3);

% g2(i,j)=abs(gh2(i,j))+abs(gv2(i,j));

% g2(i,j)=max(gh2(i,j),gv2(i,j));

g2(i,j)=sqrt(gh2(i,j)*gh2(i,j)+gv2(i,j)*gv2(i,j));

end

end

subplot(223);

imshow(uint8(g2),[]);

title('Prewitt算子');

g3=image;

gh3=image;

gv3=image;

for i=2:(x-1)

for j=2:(y-1)

gh3(i,j)=(image(i+1,j-1)+2*image(i+1,j)+image(i+1,j+1)-image(i-1,j-1)-2*image(i-1,j)-imag e(i-1,j+1))/4;

gv3(i,j)=(image(i-1,j+1)+2*image(i,j+1)+image(i+1,j+1)-image(i-1,j-1)-2*image(i,j-1)-imag e(i+1,j-1))/4;

% g3(i,j)=abs(gh3(i,j))+abs(gv3(i,j));

% g3(i,j)=max(gh3(i,j),gv3(i,j));

g3(i,j)=sqrt(gh3(i,j)*gh3(i,j)+gv3(i,j)*gv3(i,j));

end

end

subplot(224);

imshow(uint8(g3),[]);

title('Sobel算子');

经典图像边缘检测

经典图像边缘检测(微分法思想)——Sobel算子 2008-05-15 15:29Sobel于1970年提出了Sobel算子,与Prewitt算子相比较,Sobel算子对检测点的上下左右进一步加权。其加权模板如下: 经典图像边缘检测(微分法思想)——Roberts交叉算子 2008-05-14 17:16 如果我们沿如下图方向角度求其交叉方向的偏导数,则得到Roberts于1963年提出的交叉算子边缘检测方法。该方法最大优点是计算量小,速度快。但该方法由于是采用偶数模板,如下图所示,所求的(x,y)点处梯度幅度值,其实是图中交叉点处的值,从而导致在图像(x,y)点所求的梯度幅度值偏移了半个像素(见下图)。

上述偶数模板使得提取的点(x,y)梯度幅度值有半个像素的错位。为了解决这个定位偏移问题,目前一般是采用奇数模板。 奇数模板: 在图像处理中,一般都是取奇数模板来求其梯度幅度值,即:以某一点(x,y)为中心,取其两边相邻点来构建导数的近似公式:

这样就保证了在图像空间点(x,y)所求的梯度幅度值定位在梯度幅度值空间对应的(x,y)点上(如下图所示)。 前面我们讲过,判断某一点的梯度幅度值是否是边缘点,需要判断它是否大于设定的阈值。所以,只要我们设定阈值时考虑到加权系数产生的影响便可解决,偏导数值的倍数不是一个问题。 经典图像边缘检测(微分法思想)——Prewitt算子 2008-05-15 11:29 Prewitt算子 在一个较大区域中,用两点的偏导数值来求梯度幅度值,受噪声干扰很大。若对两个点的各自一定领域内的灰度值求和,并根据两个灰度值和的差来计算x,y的偏导数,则会在很

基于小波变换的图像边缘检测算法

基于小波变换的图像边缘检测算法仿真实 现 学生姓名:XX 指导教师:xxx 专业班级:电子信息 学号:00000000000 学院:计算机与信息工程学院 二〇一五年五月二十日

摘要 数字图像边缘检测是图像分割、目标区域识别和区域形态提取等图像分析领域中十分重要的基础,是图像识别中提取图像特征一个重要方法。 目前在边缘检测领域已经提出许多算法,但是提出的相关理论和算法仍然存在很多不足之处,在某些情况下仍然无法很有效地检测出目标物的边缘。由于小波变换在时域和频域都具有很好的局部化特征,并且具有多尺度特征,因此,利用多尺度小波进行边缘检测既能得到良好的抑制噪声的能力,又能够保持边缘的完备。 本文就是利用此方法在MATLAB环境下来对数字图像进行边缘的检测。 关键词:小波变换;多尺度;边缘检测

Abstract The boundary detection of digital image is not only the important foundation in the field of image segmentation and target area identification and area shape extraction, but also an important method which extract image feature in image recognition. Right now, there are a lot of algorithms in the field of edge detection, but these algorithms also have a lot of shotucuts, sometimes, they are not very effective to check the boundary of the digital image. Wavelet transform has a good localization characteristic in the time domain and frequency domain and multi-scale features, So, the boundary detection of digital image by using multi-scale wavelet can not only get a good ability to suppress noise, but also to maintain the completeness of the edge. This article is to use this method in the environment of MATLAB to detect the boundary of the digital image. Keywords: wavelet transform; multi-scale; boundary detection.

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread, imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray() 将其 转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰

度直方图与原灰度直方图的区别。 2) 对B 进行直方图均衡化处理,试比较与源图的异同。 3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 三、实验原理与算法分析 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较摘要:边缘是图像最基本的特征,边缘检测是图像分析与识别的重要环节。基于微分算子的边缘检测是目前较为常用的边缘检测方法。通过对Roberts,Sobel,Prewitt,Canny 和Log 及一种改进Sobel等几个微分算子的算法分析以及MATLAB 仿真实验对比,结果表明,Roberts,Sobel 和Prewitt 算子的算法简单,但检测精度不高,Canny 和Log 算子的算法复杂,但检测精度较高,基于Sobel的改进方法具有较好的可调性,可针对不同的图像得到较好的效果,但是边缘较粗糙。在应用中应根据实际情况选择不同的算子。 0 引言 边缘检测是图像分析与识别的第一步,边缘检测在计算机视觉、图像分析等应用中起着重要作用,图像的其他特征都是由边缘和区域这些基本特征推导出来的,边缘检测的效果会直接影响图像的分割和识别性能。边缘检测法的种类很多,如微分算子法、样板匹配法、小波检测法、神经网络法等等,每一类检测法又有不同的具体方法。目前,微分算子法中有Roberts,Sobel,Prewitt,Canny,Laplacian,Log 以及二阶方向导数等算子检测法,本文仅将讨论微分算子法中的几个常用算子法及一个改进Sobel算法。 1 边缘检测

在图像中,边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域( 包括不同色彩) 之间。边缘表明一个特征区域的终结和另一特征区域的开始。边缘所分开区域的内部特征或属性是一致的,而不同的区域内部特征或属性是不同的。边缘检测正是利用物体和背景在某种图像特征上的差异来实现检测,这些差异包括灰度、颜色或纹理特征,边缘检测实际上就是检测图像特征发生变化的位置。边缘的类型很多,常见的有以下三种: 第一种是阶梯形边缘,其灰度从低跳跃到高; 第二种是屋顶形边缘,其灰度从低逐渐到高然后慢慢减小; 第三种是线性边缘,其灰度呈脉冲跳跃变化。如图1 所示。 (a) 阶梯形边缘(b) 屋顶形边缘 (b) 线性边缘 图像中的边缘是由许多边缘元组成,边缘元可以看作是一个短的直线段,每一个边缘元都由一个位置和一个角度确定。边缘元对应着图像上灰度曲面N 阶导数的不连续性。如果灰度曲面在一个点的N 阶导数是一个Delta 函数,那么就

图像分割算法开题报告

图像分割算法开题报告 摘要:图像分割是图像处理中的一项关键技术,自20世纪70年代起一直受到人们的高度重视,并在医学、工业、军事等领域得到了广泛应用。近年来具有代表性的图像分割方法有:基于区域的分割、基于边缘的分割和基于特定理论的分割方法等。本文主要对基于自动阈值选择思想的迭代法、Otsu法、一维最大熵法、二维最大熵法、简单统计法进行研究,选取一系列运算出的阈值数据和对应的图像效果做一个分析性实验。 关键字:图像分割,阈值法,迭代法,Otsu法,最大熵值法 1 研究背景 1.1图像分割技术的机理 图像分割是将图像划分为若干互不相交的小区域的过程。小区域是某种意义下具有共同属性的像素连通集合,如物体所占的图像区域、天空区域、草地等。连通是指集合中任意两个点之间都存在着完全属于该集合的连通路径。对于离散图像而言,连通有4连通和8连通之分。图像分割有3种不同的方法,其一是将各像素划归到相应物体或区域的像素聚类方法,即区域法,其二是通过直接确定区域间的边界来实现分割的边界方法,其三是首先检测边缘像素,然后再将边缘像素连接起来构成边界的方法。 图像分割是图像理解的基础,而在理论上图像分割又依赖图像理解,两者是紧密关联的。图像分割在一般意义下十分困难的,目前的图像分割处于图像的前期处理阶段,主要针对分割对象的技术,是与问题相关的,如最常用到的利用阈值化处理进行的图像分割。 1.2数字图像分割技术存在的问题

虽然近年来对数字图像处理的研究成果越来越多,但由于图像分割本身所具有的难度,使研究没有大突破性的进展,仍然存在以下几个方面的问题。 现有的许多种算法都是针对不同的数字图像,没有一种普遍适用的分割算法。 缺乏通用的分割评价标准。对分割效果进行评判的标准尚不统一,如何对分割结果做出量化的评价是一个值得研究的问题,该量化测度应有助于视觉系统中的自动决策及评价算法的优劣,同时应考虑到均质性、对比度、紧致性、连续性、心理视觉感知等因素。 与人类视觉机理相脱节。随着对人类视觉机理的研究,人们逐渐认识到,已有方法大都与人类视觉机理相脱节,难以进行更精确的分割。寻找到具有较强的鲁棒性、实时性以及可并行性的分割方法必须充分利用人类视觉特性。 知识的利用问题。仅利用图像中表现出来的灰度和空间信息来对图像进行分割,往往会产生和人类的视觉分割不一致的情况。人类视觉分割中应用了许多图像以外的知识,在很多视觉任务中,人们往往对获得的图像已具有某种先验知识,这对于改善图像分割性能是非常重要的。试图寻找可以分割任何图像的算法目前是不现实,也是不可能的。人们的工作应放在那些实用的、特定图像分割算法的研究上,并且应充分利用某些特定图像的先验知识,力图在实际应用中达到和人类视觉分割更接近的水平。 1.3数字图像分割技术的发展趋势 从图像分割研究的历史来看,可以看到对图像分割的研究有以下几个明显的趋势。 对原有算法的不断改进。人们在大量的实验下,发现一些算法的效

东南大学数字图像处理实验报告

数字图像处理 实验报告 学号:04211734 姓名:付永钦 日期:2014/6/7 1.图像直方图统计 ①原理:灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。 通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 ②算法: clear all PS=imread('girl-grey1.jpg'); %读入JPG彩色图像文件figure(1);subplot(1,2,1);imshow(PS);title('原图像灰度图'); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率end figure(1);subplot(1,2,2);bar(0:255,GP,'g') %绘制直方图 axis([0 255 min(GP) max(GP)]); title('原图像直方图') xlabel('灰度值') ylabel('出现概率') ③处理结果:

原图像灰度图 100 200 0.005 0.010.0150.020.025 0.030.035 0.04原图像直方图 灰度值 出现概率 ④结果分析:由图可以看出,原图像的灰度直方图比较集中。 2. 图像的线性变换 ①原理:直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主 要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 ②算法: clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('girl-grey1.jpg'); figure(1);subplot(2,2,1);imshow(PS);title('原图像灰度图'); %二,绘制直方图 [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255

图像边缘检测算法体验步骤

图像边缘检测算法体验步骤 图像边缘检测算法体验步骤(Photoshop,Matlab)1. 确定你的电脑上已经安装了Photoshop和Matlab2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)4. 启动Photoshop,打开img文件夹中的图像5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹10. 使用imread命令读入该图像,在命令行输入:>> f = imread(test1.bmp);11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:在命令行输入:>> g_sobel = edge(f, sobel, 0.05); >> g_log = edge(f, log, 0.003, 2.25); >> g_canny = edge(f, canny, [0.04 0.10], 1.5);13 得到边缘图像计算结果后,显示这些边缘图像: >> figure, imshow(g_sobel) >> figure, imshow(g_log) >> figure, imshow(g_canny)14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像

文字识别开题报告

太原理工大学信息工程学院 本科毕业设计(论文)开题报告 毕业设计(论文)题目 基于边缘检测的文字图像识别 学生姓名导师姓名 专业信息 报告日期 班级07-1 指导教 师意见 签字年月日 专业(教 研室)主 任意见 年月日系主任 意见 年月日

1. 国内外研究现状及课题意义 文字图像信息是人类获取外界信息的主要来源,在近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中,人们越来越多的利用图像信息来识别和判断事物,解决实际问题。例如:由于空间技术的发展,人造卫星拍摄了大量地面和空间的照片,人们要分析照片,获得地球资源、全球气象和污染情况等;在医学上,医生可以通过X射线分析照像,观察到人体个部位的多次现象;在工厂,技术人员可以利用电视图像管理生产;生活中,交通管理部门也要利用文字图像识别技术确定违章车辆的牌照,对其进行监督管理,由此可见文字图像信息的重要性【1】。 获得文字图像信息非常重要,但更重要的是对文字图像进行处理,从中找到我们所需要的信息,因此在当今科学技术迅速发展的时代,对文字图像的处理技术提出了更高的要求,能够更加快速准确的获得有用信息。 1.1国内外研究现状 20世纪20年代文字图像处理首次得到应用。20世纪60年代中期,电子计算机的发展得到普遍应用,文字图像处理技术也不断完善,逐渐成为一个新兴的科学。从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理技术也向更高、更深的层次迈进。到了20世纪90年代,机器人技术已经成为工业的三大支柱之一,人们已经开始研究如何用计算机系统解释图像,实现类似人类视觉系统来理解外部世界,这被称为图像理解活计算机视觉。很多国家,特别是发达国家投入更多的人力、物力道这项研究,取得了不少重要的研究成果。 数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提取有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。目前,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。数字图像处理因易于实现非线性处理,处理程序和处理参数可变,故事一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。主要用于图像变换、测量、模式识别、模拟以及图像产生。广泛应用在遥感、宇宙观测、影像医学、通信、刑侦及多种工业领域【2】。1.2文字图像识别面临的问题 文字图像识别的发展经历了三个阶段:文字识别、图像处理和识别、物体识别。现在对于文字图像识别技术的研究,还面临几个问题,一是图像数据量大,一般来说,要取得较高的识别精度,原始图像应具有较高的分辨率,至少应大于64×64。二是图像污

数字图像处理中的边缘检测技术

课程设计报告 设计题目:数字图像处理中的边缘检测技术学院: 专业: 班级:学号: 学生姓名: 电子邮件: 时间:年月 成绩: 指导教师:

数字图像处理中的边缘检测技术课程设计报告I 目录 1 前言:查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义 (1) 1.1理论背景 (1) 1.2图像边缘检测技术研究的目的和意义 (1) 1.3国内外研究现状分析 (2) 1.4常用边缘检测方法的基本原理 (3) 2 小波变换和小波包的边缘检测、基于数学形态学的边缘检测法算法原理 (7) 2.1 小波边缘检测的原理 (7) 2.2 数学形态学的边缘检测方法的原理 (7) 3 算法实现部分:程序设计的流程图及其描述 (9) 3.1 小波变换的多尺度边缘检测程序设计算法流程图 (9) 3.2 数学形态学的边缘检测方法程序设计算法描述 (10) 4实验部分:对所给的原始图像进行对比实验,给出相应的实验数据和处理结果 (11) 5分析及结论:对实验结果进行分析比较,最后得出相应的结论 (15) 参考文献 (17) 附录:代码 (18)

1前言 查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义 1.1 理论背景 图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。 图像处理在遥感技术,医学领域,安全领域,工业生产中有着广泛的应用,其中在医学应用中的超声、核磁共振和CT等技术,安全领域的模式识别技术,工业中的无损检测技术尤其引人注目。 计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。 (2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。 物体的边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的突变等,同时物体的边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素灰度变化剧烈。根据灰度变化的特点,图像边缘可分为阶跃型、房顶型和凸缘型。 1.2 图像边缘检测技术研究的目的和意义 数字图像处理是伴随着计算机发展起来的一门新兴学科,随着计算机硬件、软件的高度发展,数字图像处理也在生活中的各个领域得到了广泛的应用。边缘检测技术是图像处理和计算机视觉等领域最基本的技术,如何快速、精确的提取图像边缘信息一直是国内外研究的热点,然而边缘检测也是图像处理中的一个难题。 首先要研究图像边缘检测,就要先研究图像去噪和图像锐化。前者是为了得到飞更真实的图像,排除外界的干扰,后者则是为我们的边缘检测提供图像特征更加明显的图片,即加大图像特征。两者虽然在图像处理中都有重要地位,但本次研究主要是针对图像边缘检测的研究,我们最终所要达到的目的是为了处理速

实验三图像分割与边缘检测

数字图像处理实验报告 学生姓名王真颖 学生学号L0902150101 指导教师梁毅雄 专业班级计算机科学与技术1501 完成日期2017年11月06日

计算机科学与技术系信息科学与工程学院

目录 实验一.................................................................................................. 错误!未定义书签。 一、实验目的.................................................................................................... 错误!未定义书签。 二、实验基本原理 ........................................................................................... 错误!未定义书签。 三、实验内容与要求....................................................................................... 错误!未定义书签。 四、实验结果与分析....................................................................................... 错误!未定义书签。实验总结............................................................................................... 错误!未定义书签。参考资料.. (3) 实验一图像分割与边缘检测 一.实验目的 1. 理解图像分割的基本概念; 2. 理解图像边缘提取的基本概念; 3. 掌握进行边缘提取的基本方法;

数字图像处理实验报告

数字图像处理试验报告 实验二:数字图像的空间滤波和频域滤波 姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日 1.实验目的 1. 掌握图像滤波的基本定义及目的。 2. 理解空间域滤波的基本原理及方法。 3. 掌握进行图像的空域滤波的方法。 4. 掌握傅立叶变换及逆变换的基本原理方法。 5. 理解频域滤波的基本原理及方法。 6. 掌握进行图像的频域滤波的方法。 2.实验内容与要求 1. 平滑空间滤波: 1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一 图像窗口中。 2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要 求在同一窗口中显示。 3) 使用函数 imfilter 时,分别采用不同的填充方法(或边界选项,如零填 充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图 像。 4) 运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查看其特点, 显 示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。 5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要 求在同一窗口中显示结果。 6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 2. 锐化空间滤波 1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1] 对其进行滤波。 2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5 ×5的拉普拉斯算子 w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1] 3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对

图像边缘检测算子

课程设计任务书 学院信息科学与工程专业电子信息工程 学生姓名*** 班级学号09******* 课程设计题目图像边缘检测算子 课程设计目的与要求: 设计目的: 1.熟悉几种经典图像边缘检测算子的基本原理。 2.用Matlab编程实现边缘检测,比较不同边缘检测算子的实验结果。设计要求: 1.上述实验内容相应程序清单,并加上相应的注释。 2.完成目的内容相应图像,并提交原始图像。 3.用理论对实验内容进行分析。 工作计划与进度安排: 2012年 06月29 日选题目查阅资料 2012年 06月30 日编写软件源程序或建立仿真模块图 2012年 07月01 日调试程序或仿真模型 2012年 07月01 日结果分析及验收 2012年 07月02 日撰写课程设计报告、答辩 指导教师: 2012年 6月29日专业负责人: 2012年 6月29日 学院教学副院长: 2012年 6月29日

摘要 边缘检测是数字图像处理中的一项重要内容。本文对图像边缘检测的几种经典算法(Roberts算子、Sobel算子、Prewitt算子)进行了分析和比较,并用MATLAB实现这几个算法。最后通过实例图像对不同边缘检测算法的效果进行分析,比较了不同算法的特点和适用范围。 关键词:图像处理;边缘检测;Roberts算子;Sobel算子;Prewitt算子

目录 第1章相关知识.................................................................................................... IV 1.1 理论背景 (1) 1.2 数字图像边缘检测意义 (1) 第2章课程设计分析 (3) 2.1 Roberts(罗伯特)边缘检测算子 (3) 2.2 Prewitt(普瑞维特)边缘检测算子 (4) 2.3 Sobel(索贝尔)边缘检测算子 (5) 第3章仿真及结果分析 (7) 3.1 仿真 (7) 3.2 结果分析 (8) 结论 (10) 参考文献 (11)

图像边缘检测方法的研究与实现刘法200832800066

图像边缘检测方法的研究与实现刘法200832800066

青岛大学专业课程设计 院系: 自动化学院 专业: 电子信息工程 班级: 08级电子信息工程3班学生姓名: 刘法 指导教师: 王汉萍庄晓东 日期: 2011年12月23日

题目:图像边缘检测方法的研究与实现 一、边缘检测以及相关概念 1.1边缘,边缘检测的介绍 边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edge detection). 边缘检测是指使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。 在讨论边缘算子之前,首先给出一些术语的定义: 边缘点:图像中具有坐标] ,[j i且处在强度显著变化的位置上的点.边缘段:对应于边缘点坐标] i及其方位 ,边缘的方位可能是梯度角. ,[j 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法. 轮廓:边缘列表,或是一条表示边缘列表的拟合曲线. 边缘连接:从无序边缘表形成有序边缘表的过程.习惯上边缘的表示采用顺时针方向序. 边缘跟踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程. 边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示.边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放.边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义.请注意,在实际中,边缘点和边缘段都被称为边缘.边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘. 1.2 边缘检测算子 边缘检测是图像特征提取的重要技术之一, 边缘常常意味着一个区域的终结和另一个区域的开始. 图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构. 因此,边缘检测可以看做是处理许多复杂问题的关键. 边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。经典的边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。 边缘检测的原理是:由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。

susan算子图像分割开题报告

西安邮电大学 毕业设计(论文)开题报告自动化学院专业级02班 课题名称:基于SUSAN算子的图像分割 学生姓名:学号: 指导教师: 报告日期: 2014年3月21日

1.本课题所涉及的问题及应用现状综述 图像分割就是指把图像分成各具特性的区域并提取感兴趣目标的技术和过程。它是图像处理、模式识别和人工智能等多个领域中的重要课题,也是计算机视觉技术中首要的、重要的关键步骤。图像分割的目的在于根据某些特征(如灰度级、频谱、纹理等)将一幅图像分成若干有意义的区域,使得这些特征在某一区域内表现一致或相似,而在不同区域间表现出明显的不同。图像分割的应用非常广泛,几乎出现在有关图像处理的所有领域,如:工业自动化、在线产品检验、生产过程控制、文档图像处理、图像编码、遥感和生物医学图像分析、保安监视,以及军事、体育、农业工程等方面。在各种图像应用中,只需对图像目标行提取、测量等都离不开图像分割。虽然人们对图像分割已经进行了大量的研究,但还没一种适合于所有图像的通用的分割算法。所以,图像分割一直以来都是图像技术中的研究热点。 图像边缘是是图像的最基本的特征之一, 边缘是由灰度的不连续性所反映的,有方向和幅度两个特性。边缘中包含着有价值的目标边界信息, 这些信息可以用作图像分析、目标识别。边缘检测基本思想是先检测图像中的边缘点, 在按照某种策略将边缘点连接成轮廓,构成分割域。SUSAN算子是一种基于灰度的特征点获取方法, 适用于图像中边缘和角点的检测, 可以去除图像中的噪声, 它具有简单、有效、抗噪声能力强、计算速度快的特点。SUSAN 算子的模板与常规卷积算法的正方形模板不同, 它采用一种近似圆形的模板, 用圆形模板在图像上移动, 模板内部每个图像像素点的灰度值都和模板中心像素的灰度值作比较, 若模板内某个像素的灰度与模板中心像素(核)灰度的差值小于一定值, 则认为该点与核具有相同(或相近)的灰度。 本课题对基于SUSAN算子的图像分割进行研究,并进行仿真验证。

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 09级电子信息工程二班

实验一常用MATLAB图像处理命令 一、实验内容 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 实验结果如右图: 代码如下: Subplot (1,3,1) i=imread('E:\数字图像处理\2.jpg') imshow(i) title('RGB') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title('灰度') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title('二值') 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (3,2,1) i=imread('E:\数字图像处理 \16.jpg') x=imresize(i,[250,320]) imshow(x) title('原图x') Subplot (3,2,2) j=imread(''E:\数字图像处理 \17.jpg') y=imresize(j,[250,320]) imshow(y) title('原图y') Subplot (3,2,3) z=imadd(x,y) imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (2,2,1) i=imread('E:\数字图像处理 \23.jpg') imshow(i) title('原图') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title('变暗') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title('变亮') Subplot (2,2,4) J=255-i Imshow(J) title('变负') 二、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。 解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。 乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。 除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

Matlab做图像边缘检测的多种方法

Matlab做图像边缘检测的多种方法 1、用Prewitt算子检测图像的边缘 I = imread('bacteria.BMP'); BW1 = edge(I,'prewitt',0.04); % 0.04为梯度阈值 figure(1); imshow(I); figure(2); imshow(BW1); 2、用不同σ值的LoG算子检测图像的边缘 I = imread('bacteria.BMP'); BW1 = edge(I,'log',0.003); % σ=2 imshow(BW1);title('σ=2') BW1 = edge(I,'log',0.003,3); % σ=3 figure, imshow(BW1);title('σ=3') 3、用Canny算子检测图像的边缘 I = imread('bacteria.BMP'); imshow(I); BW1 = edge(I,'canny',0.2); figure,imshow(BW1); 4、图像的阈值分割 I=imread('blood1.tif'); imhist(I); % 观察灰度直方图,灰度140处有谷,确定阈值T=140 I1=im2bw(I,140/255); % im2bw函数需要将灰度值转换到[0,1]范围内 figure,imshow(I1); 5、用水线阈值法分割图像 afm = imread('afmsurf.tif');figure, imshow(afm); se = strel('disk', 15); Itop = imtophat(afm, se); % 高帽变换 Ibot = imbothat(afm, se); % 低帽变换 figure, imshow(Itop, []); % 高帽变换,体现原始图像的灰度峰值 figure, imshow(Ibot, []); % 低帽变换,体现原始图像的灰度谷值 Ienhance = imsubtract(imadd(Itop, afm), Ibot);% 高帽图像与低帽图像相减,增强图像figure, imshow(Ienhance); Iec = imcomplement(Ienhance); % 进一步增强图像

数字图像边缘检测的研究与实现

任务书

主要分析几种应用于数字图像处理中的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:Robert 边缘算子、Prewitt 边缘算子、Sobel 边缘算子、Kirsch 边缘算子以及Laplacian 算子等对图像及噪声图像的边缘检测,根据实验处理结果讨论了几种检测方法的优劣. 关键词:数字图像处理;边缘检测;算子

图像的边缘是图像的重要特征之一, 数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础, 其目的是精确定位边缘, 同时较好地抑制噪声, 因此边缘检测是机器视觉系统中必不可少的重要环节。然而, 由于实际图像中的边缘是多种边缘类型的组合, 再加上外界环境噪声的干扰, 边缘检测又是数字图像处理中的一个难题。

目录 第一章边缘的概念 (3) 第二章边缘检测 (4) 第三章边缘检测算子的应用 (8) 第四章边缘检测方法性能比较 (12) 参考文献料 (15)

第1章:边缘检测 1.1 边缘的介绍 图像边缘是图像最基本的特征,边缘在图像分析中起着重要的作用。所谓边缘是指图像局部特性的不连续性。灰度或结构等信息的突变处称为边缘,例如:灰度级的突变,颜色的突变,纹理结构的突变等。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。 边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edge detection).由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一.本章主要讨论边缘检测和定位的基本概念,并使用几种常用的边缘检测器来说明边缘检测的基本问题. 在讨论边缘算子之前,首先给出一些术语的定义: 边缘点:图像中具有坐标],[j i 且处在强度显著变化的位置上的点. 边缘段:对应于边缘点坐标],[j i 及其方位 ,边缘的方位可能是梯度角. 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法. 轮廓:边缘列表,或是一条表示边缘列表的拟合曲线. 边缘连接:从无序边缘表形成有序边缘表的过程.习惯上边缘的表示采用顺时针方向序. 边缘跟踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程. 边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示.边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放.边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义.请注意,在实际中,边缘点和边缘段都被称为边缘. 边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘. 1.2 边缘检测算子 边缘检测是图像特征提取的重要技术之一, 边缘常常意味着一个区域的终结和另一个区域的开始. 图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构. 因此,边缘检测可以看做是处理许多复杂问题的关键. 边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。经典的 边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。

相关主题
文本预览
相关文档 最新文档