图像处理边缘提取与分割实验报告附源码

合集下载

数字图像处理实验报告——图像分割实验

数字图像处理实验报告——图像分割实验

实验报告课程名称数字图像处理导论专业班级_______________姓名 _______________学号_______________电气与信息学院与谐勤奋求就是创新一.实验目得1.理解图像分割得基本概念;2.理解图像边缘提取得基本概念;3.掌握进行边缘提取得基本方法;4.掌握用阈值法进行图像分割得基本方法.二。

实验内容1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明。

3.任选一种阈值法进行图像分割、图1 图2三.实验具体实现1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;I=imread(’mri、tif');imshow(I)BW1=edge(I,’roberts’);figure ,imshow(BW1),title(’用Roberts算子’)BW2=edge(I,’sobel’);figure,imshow(BW2),title(’用Sobel算子 ')BW3=edge(I,’log’);figure,imshow(BW3),title(’用拉普拉斯高斯算子’)比较提取边缘得效果可以瞧出,sober算子就是一种微分算子,对边缘得定位较精确,但就是会漏去一些边缘细节.而Laplacian—Gaussian算子就是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘得细节比较丰富。

通过比较可以瞧出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。

2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明.i=imread('m83、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图');thread=130/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’);3.任选一种阈值法进行图像分割、i=imread('trees、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图’);thread=100/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’)1、分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

图像分割处理实验报告

图像分割处理实验报告

图像分割处理实验报告1. 引言图像分割是计算机视觉中的重要任务之一,其目标是将图像划分成具有相似特征的子区域。

图像分割在很多应用领域中都有着广泛的应用,比如医学影像分析、目标检测和图像编辑等。

本实验旨在探索不同的图像分割算法,并比较它们在不同场景下的效果和性能。

2. 实验方法2.1 实验数据本实验选取了一组包含不同场景的图像作为实验数据集,包括自然景观、人物肖像和城市街景等。

每张图像的分辨率为500x500像素。

2.2 实验算法本实验使用了两种经典的图像分割算法进行比较,分别是基于阈值的分割和基于边缘的分割。

2.2.1 基于阈值的分割基于阈值的分割算法是一种简单而直观的方法,其原理是根据像素值的亮度信息将图像分割成不同的区域。

在本实验中,我们将图像的灰度值与一个事先设定的阈值进行比较,如果大于阈值则设为白色,否则设为黑色,从而得到分割后的图像。

2.2.2 基于边缘的分割基于边缘的分割算法利用图像中的边缘信息进行分割,其原理是检测图像中的边缘并将其作为分割的依据。

在本实验中,我们使用了Canny边缘检测算法来提取图像中的边缘信息,然后根据边缘的位置进行分割。

2.3 实验流程本实验的流程如下:1. 加载图像数据集;2. 对每张图像分别应用基于阈值的分割算法和基于边缘的分割算法;3. 计算分割结果和原始图像之间的相似度,使用结构相似性指标(SSIM)进行评估;4. 分析并比较两种算法在不同场景下的分割效果和性能。

3. 实验结果3.1 分割效果实验结果表明,基于阈值的分割算法在处理简单场景的图像时效果较好,可以比较准确地将图像分割为目标区域和背景。

然而,当图像的复杂度增加时,基于阈值的分割算法的效果明显下降,往往会产生较多的误分割。

相比之下,基于边缘的分割算法在处理复杂场景的图像时表现良好。

通过提取图像的边缘信息,该算法能够较准确地分割出图像中的目标区域,相比于基于阈值的分割算法,其产生的误分割较少。

3.2 性能评估通过计算分割结果和原始图像之间的SSIM指标,我们可以得到两种算法在不同场景下的性能评估。

边缘化提取实验报告

边缘化提取实验报告

一、实验目的1. 理解图像边缘检测的基本原理和过程。

2. 掌握常用的边缘检测算法,如Roberts算子、Sobel算子、Prewitt算子、Laplacian算子和Canny算子。

3. 通过实验验证不同边缘检测算法的效果,并分析其优缺点。

4. 了解特征提取的基本原理和方法,对图像边缘进行特征提取。

二、实验原理图像边缘是图像中灰度值或颜色值发生突变的地方,是图像分割和特征提取的基础。

边缘检测的目的是找到图像中灰度值变化明显的区域,即边缘。

边缘检测算法可以分为两类:基于微分算子的边缘检测算法和基于二值化的边缘检测算法。

1. 基于微分算子的边缘检测算法:- 利用一阶导数或二阶导数检测图像边缘。

- 常见的算子有Roberts算子、Sobel算子、Prewitt算子、Laplacian算子等。

2. 基于二值化的边缘检测算法:- 利用图像的二值化处理,将图像分为前景和背景两部分。

- 常见的算法有Otsu算法、Sauvola算法等。

三、实验内容1. 实验材料:- OpenCV库- Python编程环境2. 实验步骤:(1)读取图像:使用OpenCV库读取待检测的图像。

(2)灰度化:将图像转换为灰度图像,以便进行边缘检测。

(3)边缘检测:- 使用Roberts算子检测边缘。

- 使用Sobel算子检测边缘。

- 使用Prewitt算子检测边缘。

- 使用Laplacian算子检测边缘。

- 使用Canny算子检测边缘。

(4)特征提取:对检测到的边缘进行特征提取,如计算边缘长度、宽度、方向等。

(5)结果展示:将检测到的边缘和提取的特征进行可视化展示。

四、实验结果与分析1. Roberts算子:- 效果:Roberts算子对图像噪声敏感,边缘检测效果较差。

- 分析:Roberts算子对图像局部区域进行检测,容易受到噪声的影响。

2. Sobel算子:- 效果:Sobel算子对图像噪声有一定的抑制能力,边缘检测效果较好。

- 分析:Sobel算子使用高斯滤波器对图像进行平滑处理,然后计算图像的一阶导数。

图像分割处理实验报告

图像分割处理实验报告

一、实验目的:1.学会对图像进行二值化处理和直方图均衡化处理2.进一步了解数字图像处理的知识以及matlab软件的使用3.掌握基本的查资料方法二、实验内容把这幅图像分成同样大小的10幅人脸图片然后分别对第一行5幅人脸图像的第3 第4 第5 第二行5幅人脸图像的第1 第5 进行如下处理:1.进行大津法阈值分割的二值化处理2.进行直方图均衡化处理三、实验具体代码以及结果1.实验代码%clcclearsrc_path='D:\histogram matching.bmp'; %原始图片路径dst_path='D:\picture\'; %分割图片后保存路径mkdir(dst_path);A = imread(src_path); %读入原始图片[m,n,l] = size(A); %获得尺寸for i = 1:2for j = 1:5m_start=1+(i-1)*fix(m/2);m_end=i*fix(m/2);n_start=1+(j-1)*fix(n/5);n_end=j*fix(n/5);AA=A(m_start:m_end,n_start:n_end,:); %将每块读入矩阵imwrite(AA,[dst_path num2str(i) '-' num2str(j) '.jpg'],'jpg'); %保存每块图片endendcd 'D:\pic'x1=imread('1-3.jpg');%%%%%%%%%目标读取图像x2=imread('1-4.jpg');x3=imread('1-5.jpg');x4=imread('2-1.jpg');x5=imread('2-5.jpg');% matlab 自带的自动确定阈值的方法level1=graythresh(x1);level2=graythresh(x2);level3=graythresh(x3);level4=graythresh(x4);level5=graythresh(x5);%用得到的阈值直接对图像进行二值化处理并显示BW1=im2bw(x1,level1);BW2=im2bw(x2,level2);BW3=im2bw(x3,level3);BW4=im2bw(x4,level4);BW5=im2bw(x5,level5);figure(1),imshow(BW1);figure(2),imshow(BW2);figure(3),imshow(BW3);figure(4),imshow(BW4);figure(5),imshow(BW5);%直方图均衡化处理%%%%%%%%%%调用直方图均衡化函数 histeq()%%%%%均衡化处理后的灰度级直方图分布figure(6),imhist(histeq(rgb2gray(x1))); figure(7),imhist(histeq(rgb2gray(x2))); figure(8),imhist(histeq(rgb2gray(x3))); figure(9),imhist(histeq(rgb2gray(x4))); figure(10),imhist(histeq(rgb2gray(x5)));%%%均衡化处理后的图像%%%%%%figure(11),imshow(histeq(rgb2gray(x1))); figure(12),imshow(histeq(rgb2gray(x2))); figure(13),imshow(histeq(rgb2gray(x3))); figure(14),imshow(histeq(rgb2gray(x4))); figure(15),imshow(histeq(rgb2gray(x5)));。

医学图像处理实验报告 ----图像分割

医学图像处理实验报告 ----图像分割

医学图像处理实验报告 ----图像分割医学图像处理实验报告----图像分割一.实验目的:掌握基本的图像分割方法,观察图像分割的结果,加深对边缘检测、模板匹配、区域生长的理解。

二.实验内容:边缘检测、模板匹配、区域生长。

三.实验方法:1.边缘检测:图象Blood边缘检测方法Sobel打开Toolboxes\Image Processing项选Edge Detection并运行选图象Blood边缘检测方法Sobel如图1所示按Apply键观察检测到的边界从上面四幅图像的对比来看,阈值逐渐变大,而满足要求的像素点也逐渐变少,使得图像的边缘提取的效果也越来越差,图像轮廓变得不清楚了。

以下为采用Prewitt方法的边缘提取效果:以下为Roberts方法边缘提取的效果:以下为Laplacian of Gaussian方法边缘提取的效果:以上的各种方法的理论算法有所不同,但总体效果基本一致。

以下是选其他图像重做上面的实验(适当简化)2.模板匹配:在Photoshop中打开一黑白灰度图象文件在滤镜菜单其他子菜单中选自定项在自定界面中输入点模板按好键观察处理后图象。

原始图像:点模板滤镜后的图像:0 0 00 1 00 0 0点模板: -1 -1 -1 -1 8 -1-1 -1 -1线模板: -1 -1 -1 2 2 2-1 -1 -1线模板: -1 2 -1 -1 2 -1-1 2 -1线模板: 2 -1 -1 -1 2 -1-1 -1 2线模板: -1 -1 2 -1 2 -12 -1 -1从上面的四种线模板得比较中可以发现:第一种对检测横向图像更为有效,第二种为竖向,后两种为135和45度。

这是与模板的构成有关的。

方向模板:-1 1 1-1 -2 1-1 1 1可以看出这个方向模板较多地体现出东方向的像素。

方向模板:1 1 -11 -2 -11 1 -1可以看出这个模板较多地体现出西方向的情况。

方向模板:-1 -1 -11 -2 11 1 1这个模板较多地体现了南向的情况。

(完整word版)图像分割 实验报告

(完整word版)图像分割 实验报告
%例2迭代阈值分割
f=imread('cameraman.tif');%读入图像
subplot(1,2,1);imshow(f);%创建一个一行二列的窗口,在第一个窗口显示图像
title('原始图像');%标注标题
f=double(f);%转换位双精度
T=(min(f(:))+max(f(:)))/2;%设定初始阈值
Tnew=(mean(f(r1))+mean(f(r2)))/2;%新阈值两个范围内像素平均值和的一半
done=abs(Tnew-T)<1;%设定两次阈值的比较,当满足小于1时,停止循环,
1是自己指定的参数
T=Tnew;%把Tnw的值赋给T
i=i+1;%执行循坏,每次都加1
end
f(r1)=0;%把小于初始阈值的变成黑的
给背景指定一个特定的灰度级
该方法将背景用一个固定灰度级LG表现,便于研究边缘灰度的变化。
二值图像输出
在某些场合(如字符识别等),既不关心非边缘像素的灰度级差别,又不关心边缘像素的灰度级差别,只关心每个像素是边缘像素还是非边缘像素,这时可采用二值化图像输出方式,其表达式为
此法将背景和边缘用二值图像表示,便于研究边缘所在位置。
imshow(f,[]); %显示原图像f
title('原始图像'); %给图像加标题为'原始图像'
J=imnoise(f,'gaussian',0.02);%对图像加高斯噪声
subplot(3,3,2);%创建有3*3子图像的窗口,原图在位置2
imshow(J,[]);%显示加噪声的图像
title('加高斯噪声图像');%给图像加标题为'加高斯噪声图像'

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告——彩色图像边缘的提取概述图像的边缘包含了图像最重要的信息。

什么是边缘?一般是指图像灰度变化率最大的位置。

图像边缘检测是图像处理与计算机视觉共同的基本课题,1960年以来,相继发展了一系列采用梯度算子和拉普拉斯算子的边缘检测技术;为了降低图像噪声对边缘检测算法的干扰,1980年以来,又建立了高斯低通滤波与拉普拉斯算子复合的过零点检测Marr-Hildreth 理论;在另一个方向上,1980年代初期,Canny 从信号处理的角度出发,使边缘检测算法更具有实用性。

由于课程学习的限制,本次实验参考的是课件第七章中的算法内容,其实验原理如下。

实验目的1.通过实验体会一些主要的分割算子对彩色图像边缘的提取的效果;2.使用MatLab 软件进行彩色图像的边缘的检测;了解分割算子对彩色图像边缘的检测的原理;4.完成规定彩色图像的边缘检测并要求正确评价处理结果,能够从理论上作出合理的解释。

实验原理:b x f g x f r x f u B G R ∂∂+∂∂+∂∂=byf g y f r y f v B G R∂∂+∂∂+∂∂=222xf x f x f u u u ug B G RT xx∂∂+∂∂+∂∂=∙=∙= 222y f y f y fv v v v g BG R T yy ∂∂+∂∂+∂∂=∙=∙= yf x f yf x f yf x f v u v ug BB G G R R T xy ∂∂∂∂+∂∂∂∂+∂∂∂∂=∙=∙= ]2arctan[21),(yyxx xy g g g y x -=θ2/1]2sin 22cos )()[(21),(⎭⎬⎫⎩⎨⎧+-++=θθθxy yy xx yy xx g g g g g y x F实验程序:f=imread('D:\bmp.bmp');bw1=[-1,0,1;-1,0,1;-1,0,1];bw2=[-1,-1,-1;0,0,0;1,1,1];a=f(:,:,1);b=f(:,:,2);c=f(:,:,3);%figure,imshow(f);%figure,imshow(a);%figure,imshow(b);%figure,imshow(c);%l1=filter(bw1,a);l1=filter2(bw1,a);l2=filter2(bw1,b);l3=filter2(bw1,c);m1=filter2(bw2,a);m2=filter2(bw2,b);m3=filter2(bw2,c);%[m1 m2 m3]=filter2(bw2,f);p1=l1.*l1+l2.*l2+l3.*l3;p2=m1.*m1+m2.*m2+m3.*m3;p3=l1.*m1+l2.*m2+l3.*m3;h=2*p3./((p1-p2)+exp(-50));r=0.5*atan(h);w=real(sqrt(0.5*((p1+p2)+(p1-p2).*cos(2*r)+2*p3.*sin(2*r)))); w=mat2gray(w);imshow(w);figure,imshow(f);试验结果:实验小结通过这么多次的数字图像处理实验我学习到了很多,首先是对matlab软件的更加熟练的运用,然后通过一些验证性试验使我对课本上数字图像处理的一些原理有了更加深刻的理解,在实际的操作中学会了图像的一些基本的处理,总体来说还不错。

详细的图像分割之边缘检测实验报告

详细的图像分割之边缘检测实验报告

边缘检测实验报告一、实验目的通过课堂的学习,已经对图像分割的相关理论知识已经有了全面的了解,知道了许多图像分割的算法及算子,了解到不同的算子算法有着不同的优缺点,为了更好更直观地对图像分割进行深入理解,达到理论联系实际的目的,特制定如下的实验。

二、实验原理:图像处理有两大类目的:1.改善像质(增强、恢复);2.图像分析:对图像内容作出描述;其一般的图像处理过程如下:图像分割的算法有:(1)阈值分割原理:(,)(,)(,)EBLf x y Tg x y L f x y T≥⎧=⎨<⎩(2)边缘检测:梯度对应一阶导数,对于一个连续图像函数f(x,y):梯度矢量定义:梯度的幅度:梯度的方向:a) Roberts 算子b) Sobel 算子Roberts 算子[]TTyxy f x f G G y x f ⎦⎤⎢⎣⎡∂∂∂∂==∇),(122)()),((),(y x G G y x f mag y x f +=∇=∇)arctan(),(x y G y x =φ()()()[]()()[]{}21221,,11,1,,+-++++-=j i f j i f j i f j i f j i gc) Prewitt 算子d) Kirsch 算子由K 0~K 7八个方向模板组成,将K0~K7的模板算法分别与图像中的3×3区域乘,选最大一个值,作为中央像素的边缘强度(3)区域分割1 区域生长法 算法描述先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素有相似性质的像素合并到种子像素所在的区域中。

将这些新像素当作新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来。

2 分裂合并法实际中常先把图像分成任意大小且不重叠的区域,然后再合并或分裂这些区域以满足分割的要求,即分裂合并法.一致性测度可以选择基于灰度统计特征(如同质区域中的方差),假设阈值为T ,则算法步骤为:① 对于任一Ri ,如果 ,则将其分裂成互不重叠的四等分; ② 对相邻区域Ri 和Rj ,如果 ,则将二者合并; ③ 如果进一步的分裂或合并都不可能了,则终止算法。

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

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

数字图像处理实验报告学生姓名王真颖学生学号L0902150101指导教师梁毅雄专业班级计算机科学与技术1501 完成日期2017年11月06日计算机科学与技术系信息科学与工程学院目录实验一 ............................................................................................................ 错误!未定义书签。

一、实验目的............................................................................................. 错误!未定义书签。

二、实验基本原理..................................................................................... 错误!未定义书签。

三、实验内容与要求................................................................................. 错误!未定义书签。

四、实验结果与分析................................................................................. 错误!未定义书签。

实验总结 ........................................................................................................ 错误!未定义书签。

参考资料 (3)实验一图像分割与边缘检测一.实验目的1. 理解图像分割的基本概念;2. 理解图像边缘提取的基本概念;3. 掌握进行边缘提取的基本方法;4. 掌握用阈值法进行图像分割的基本方法。

图像处理实验报告实验目的:图像边缘检测和提取:分别用4和8连通的

图像处理实验报告实验目的:图像边缘检测和提取:分别用4和8连通的

图像处理实验报告实验目的:图像边缘检测和提取:分别用4和8连通的方法提取图像的边缘,将提取的边缘坐标保存入文本文件,并能通过读取文本文件恢复边缘图像。

实验原理:有两种方法可以提取边缘点:一.轮廓跟踪按照从左到右,从上到下的顺序搜索,找到的第一个黑点一定是最左下的边界点,记为A。

由于边界是连续的,所以每一个边界点都可以用这个边界点对前一个边界点所张的角度来表示。

因此可用下面跟踪准则:从第一个边界点开始,定义初始的搜索方向为沿左上方;如果左上方的点是黑点,则为边界点,否则搜索方向顺时针旋转45度(8连通方法为90度)。

这样一直到找到第一个黑点为止。

然后把这个黑点作为新的边界点,在当前搜索方向的基础上逆时针旋转90度,继续用同样的方法搜索下一个黑点,直到返回最初的边界点为止。

二.轮廓提取二值图图像轮廓提取,掏空内部,如果原图中有一点为黑色,且它的相邻点为黑色(此时是内部点),则将该点删除。

取4个相邻点则为4连通,8个相邻点则为8连通。

根据本实验中图像,为简单的二值图,且有3个黑块,用第一种方法不易跟踪,所以选用第二种方法较简单。

实现方法:所用4连通与8连通方法区别仅是选取的相邻点个数不同,实现方法基本一致,所以不分开论述。

步骤:1.遍历原图像每个像素,如果此像素及周围的点(4个或8个)都为黑点,则该像素认为是内部点,将其删除。

遍历一边,等于掏空图像内部点,仅剩边缘点。

2.用一个结构数组存储图像边缘点的坐标。

在一个新建的文本文件中依次写入图像高度和宽度,边缘像素点总个数,每个边缘点的坐标。

此步骤完成边缘的提取。

3.打开一个新pic图像,读取指定文本文件中的数据,即步骤2中存储内容。

然后在新打开的图像中改变图像高度和宽度,依读入的坐标点将相应点变为黑色,恢复边缘。

此步骤完成边缘的恢复。

4连通和8连通算法的比较:1.4连通算法中检测四个方向的像素点,会将图像内部更多的黑色点腐蚀,所留下的边界是8连通的。

8连通算法相反,所留下的边界是4连通的。

实验-五-图像的分割与边缘提取

实验-五-图像的分割与边缘提取

实验五图像的分割与边缘提取一.实验目的及要求1.利用MATLAB研究图像分割与边缘检测的常用算法原理;2.掌握MATLAB图像域值分割与边缘检测函数的使用方法;3.了解边缘检测的算法和用途,比较Sobel、Prewitt、Canny等算子边缘检测的差异。

二、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

1.图像阈值分割clear all, close all;I = imread(' cameraman.tif');figure (1),imshow(I)figure(2); imhist(I)T=120/255;Ibw1 = im2bw(I,T); %选择阈值T=120/255对图像二值化;figure(3);subplot(1,2,1), imshow(Ibw1);T=graythresh(I); %采用Otsu方法计算最优阈值T对图像二值化;L = uint8(T*255)Ibw2 = im2bw(I,T);subplot(1,2,2), imshow(Ibw2);help im2bw;help graythresh;(令T取不同值,重做上述试验,观察试验结果)clear all, close all;I = imread('cameraman.tif');figure (1),imshow(I)figure(2); imhist(I)T=240/255;Ibw1 = im2bw(I,T);figure(3);subplot(1,2,1), imshow(Ibw1);T=graythresh(I);L = uint8(T*255)Ibw2 = im2bw(I,T);subplot(1,2,2), imshow(Ibw2);help im2bw;help graythresh;2.边缘检测clear all, close all;I = imread('moon.tif');BW1 = edge(I,'sobel');BW2 = edge(I,'canny');BW3 = edge(I,'prewitt');BW4 = edge(I,'roberts');BW5 = edge(I,'log');figure(1), imshow(I), title('Original Image');figure(2), imshow(BW1), title('sobel');figure(3), imshow(BW2), title('canny');figure(4), imshow(BW3), title('prewitt');figure(5), imshow(BW4), title('roberts');figure(6), imshow(BW5), title('log');% 在完成上述试验后,查看函数edge()使用说明。

图像处理边缘提取与分割实验报告附源码

图像处理边缘提取与分割实验报告附源码

图像处理边缘提取与分割实验报告附源码实验一数字图像处理实例专业:模式识别与智能系统姓名:XXX学号:*************边缘提取与图像分割理论、算法、源码与实例1)理论一、边缘检测的基本方法:各种差分算子,主要有:差分边缘检测方法Roberts梯度模算子前两种对垂直,水平,对角检测好。

Prewitt算子,Robinson算子(算八个方向的梯度最大值)Sobel算子(利用上下左右加权,可平滑噪声);Kirsch算子Rosenfeld算子Laplace算子(二阶导数算子,一般不用于检测,用于之后判别暗区与明区。

)LOG算子,(XXX平滑后求导提取边界。

)主要思路用高斯函数对图像平滑滤波,然后再对图像进行拉普拉斯运算,算得的值等于零的点认为是边界点。

该算法高斯函数方差取值很重要,过大会导至精度不高。

还容易产生虚假边界。

但可以用一些准备去除虚假边界。

对于灰度渐变图的效果也不太好。

但大部份图片边缘提取效果还好。

Canny边界检测算子二、拟合曲面求导提取边界。

主要思路为在点的邻域各点拟合一个曲面,由曲面的求导代替离散点求差分,这种方法对于噪声比较不敏感。

三、统计判决法提取边界以误判几率最小化设置门限,对边界检测算子作用后的每一个像点判别/。

统计判决法依赖于先验知识。

四、分裂—合并算法按一定的均一化标准,将图片分成子图。

合并满足均一性准则的子图。

实验一数字图像处理实例专业:模式识别与智能系统姓名:陈光磊学号:*************五、跟踪技术1)区域跟踪,基于区域的图像分割方法。

应用于直接提取区域。

检测满足跟踪准则的点,找到这样的点,检测其所有邻点,把满足跟踪准则的任合邻点合并再重复。

直到没有邻点满足检测准则。

2)曲线跟踪,基于边界的图像分割方法。

对整幅图扫描,对所有“目前点”的邻点检测,周围没有满足跟踪条件的点时,返回到上一个最近的分支处,掏出另一个满足跟踪原则的目前点。

重复根踪。

6、模型化与统计检验法检测边界开始步骤为对图像划分成多块子图,每块子图进行曲面拟合。

数字图像处理实验及报告(含源码)

数字图像处理实验及报告(含源码)

大学数字图像处理实验报告设计题目:数字图像处理专业名称:软件工程班级: 1 学号: 1 姓名: MARK 指导教师:2016年5月16日目录实验一数字图像的采集和Photoshop软件的操作 (4)1.1实验目的 (4)1.2实验任务及要求 (4)1.3实验内容、步骤和结果 (4)1.4 结果分析 (7)实验二图像的傅里叶变换 (8)2.1实验目的 (8)2.2实验任务及要求 (8)2.3实验内容、步骤和结果 (8)2.4 结果分析 (11)实验三图像的灰度变换和直方图变换 (12)3.1实验目的 (12)3.2实验任务及要求 (12)3.3实验内容、步骤和结果 (12)3.4 结果分析 (16)实验四图像的平滑处理 (17)4.1实验目的 (17)4.2实验任务及要求 (17)4.3实验内容、步骤和结果 (17)4.4 结果分析 (20)实验五 (21)5.1实验目的 (21)5.2实验任务及要求 (21)5.3实验内容、步骤和结果 (21)5.4 结果分析 (24)实验六 (26)6.1实验目的 (26)6.2实验任务及要求 (26)6.3实验内容、步骤和结果 (26)6.4 结果分析 (28)实验一数字图像的采集和Photoshop软件的操作1.1实验目的1、熟悉并掌握MATLAB,PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单的变换。

1.2实验任务及要求1、根据实验内容在MATLAB中编写相应地代码,使结果符合题目要求;2、在PHOTOSHOP中实现与MATLAB中相同对图像的处理,进行对比;3、完成实验报告。

1.3实验内容、步骤和结果1、实验内容:a)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口上分成三个子窗口来分别显示RGB图像、灰度图像和二值图像,注上文字标题;b)对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题;c)对一幅图像进行灰度变化,实现图像变亮,变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题;d)学会常用数字图像处理软件Photoshop的功能操作练习。

图像处理实验总结

图像处理实验总结

图像分割主程序
• • • •
th=graythresh(I); I5 = im2bw(I,th); figure; imshow(I5);
图像分割是将图像划分成若干个互不相交的小区域的过程小区域是某种意义下具有共同属性的像素的连通集合
实验 图像分割与边缘提取
实验要求Βιβλιοθήκη 用边缘检测法、阈值分割 法进行图像分割,并分析图 像分割后的视觉效果。
图像分割与边缘提取
图像分割是将图像划分成若干个互不相交的 小区域的过程,小区域是某种意义下具有 共同属性的像素的连通集合。图像分割常 用的方法有区域分割法和边缘分割法,边 缘,是指其周围像素灰度有阶跃变化的那 些像素的集合。边缘检测可以使图像的轮 廓更加突出,而边缘以外的图像区域通常 被削弱甚至被完全去掉。
实验结果
实验图像如下:
实验结果
实验图像如下:
实验结果
Canny算子检测边缘如下:
实验结果
Sobel算子检测边缘如下:
实验结果
Log算子检测边缘如下:
实验结果
Robert算子检测边缘如下:
实验程序及结果
全局阈值分割结果如下:
边缘提取主程序
• • • • • • • • • • • • • • • • I = imread('005.jpg'); figure; imshow(I); I=rgb2gray(I); I1=edge(I,'canny'); figure; imshow(I1); I2=edge(I,'sobel'); figure; imshow(I2); I3=edge(I,'log'); figure; imshow(I3); I4=edge(I,'roberts'); figure; imshow(I4);

实验4图像分割及边缘检测

实验4图像分割及边缘检测

实验4 图像分割及边缘检测应电101黎杰良201036626115一、实验目的:理解图像分割和边缘检测的概念,利用Matlab图像处理函数实现图像的分割,并实现边缘的提取。

二、实验内容:1、学习并应用阈值分割im2bw函数, 利用直方图来选取阈值,对已知图像进行二值化分割。

2、学习用常见的Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、Canny算子等微分算子检测图像边缘三、实验要求:提交原图像和各种直方图曲线,以及按直方图处理后的图像。

四、实验步骤1、阈值分割(1)阅读im2bw ,imhist的帮助文件;>> help im2bwIM2BW Convert image to binary image by thresholding.IM2BW produces binary images from……………Example-------load treesBW = im2bw(X,map,0.4);imshow(X,map), figure, imshow(BW)See also GRAYTHRESH, IND2GRAY, RGB2GRAY.>> help imhistIMHIST Display histogram of image data.IMHIST(I) displays a histogram for…………Example-------I = imread('pout.tif');imhist(I)See also HISTEQ, HIST.(2)读入一幅图像,使用imhist( )函数产生图像的直方图,分析它的直方图分布,选取分割的阈值;选取阀值T=160/255(3)用BW=im2bw(I,T)函数,实现阈值分割。

选取阀值T=160/2552、边缘检测(1)阅读edge的帮助文件;>> help edgeEDGE Find edges in intensity image.EDGE takes an intensity or a binary image I as its input, and ………Example-------Find the edges of the rice.tif image using the Prewitt and Cannymethods:I = imread('rice.tif');BW1 = edge(I,'prewitt');BW2 = edge(I,'canny');imshow(BW1)figure, imshow(BW2)See also FSPECIAL.(2)用BW=edge(I,methold)函数,实现图像的边缘检测;(3)比较不同算子的边缘检测效果。

图像边缘提取算法源程序文件

图像边缘提取算法源程序文件

图像边缘提取算法研究报告概述图像的边缘包含了图像最重要的信息。

什么是边缘?一般是指图像灰度变化率最大的位置。

从成因上看,一般图像边缘主要由四个方面的因素形成:(1)图像灰度在表面法向变化的不连续造成的边缘;(2)图像对像素在空间上不一致形成的边缘;(3)在光滑的表面上由于颜色的不一致形成的边缘:(4)物体的光影造成的边缘。

图像边缘提取的作用有:(1)改良图像质量;(2)分离对象;(3)理解和重构视觉场景;(4)识别特征;(5)其他。

图像边缘检测是图像处理与计算机视觉共同的基本课题,1960年以来,相继发展了一系列采用梯度算子和拉普拉斯算子的边缘检测技术;为了降低图像噪声对边缘检测算法的干扰,1980年以来,又建立了高斯低通滤波与拉普拉斯算子复合的过零点检测Marr-Hildreth理论;在另一个方向上,1980年代初期,Canny从信号处理的角度出发,使边缘检测算法更具有实用性。

本报告主要介绍以上以上几个方面的内容,通过matlab程序实现以上几种算法,对比各种算法的性能。

算法介绍及相应程序一、基于微分算子的边缘检测检测图像边缘信息,可以把图像看做曲面,边缘就是图像的变化最剧烈的位置。

这里所讲的边缘信息包含两个方面:一是边缘的具体位置,即像素的坐标;而是边缘的方向。

微分算子有两个重要性质:定域性(或局部性)、敏感性(或无界性)。

敏感性就是说,它对局部的函数值变化很敏感,但是因其对变化过于敏感又有了天然的缺陷——不能抵抗噪声。

局部性意思是指,每一点的导数只与函数在该点邻近的信息有关。

主要有两大类基于微分算子的边缘检测技术:一阶微分算子边缘检测与二阶微分算子边缘检测。

这些检测技术采用以下的基本步骤:(1) 将相应的微分算子简化为离散的差分格式,进而简化为模板(记为T)。

(2) 利用模板对图像f(m,n)进行运算,获得模板作用后的结果Tf(m,n)。

(3) 提出阈值h,在采用一阶微分算子情形记录下高于某个阈值h 的位置坐标}),(|),{(h n m Tf n m S h ≥=(而采用二阶微分算子情形,一般是对某个阈值0>ε确立}),(|),{(ε≥=n m Tf n m S h )(4) 对集合h S 进行整理,同时调整阈值h 。

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

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

数字图像处理实验报告学生姓名王真颖学生学号L01指导教师梁毅雄专业班级计算机科学与技术1501完成日期2017年11月06日计算机科学与技术系信息科学与工程学院目录实验一...................................................... 错误!未定义书签。

一、实验目的............................................... 错误!未定义书签。

二、实验基本原理........................................... 错误!未定义书签。

三、实验内容与要求......................................... 错误!未定义书签。

四、实验结果与分析......................................... 错误!未定义书签。

实验总结.................................................... 错误!未定义书签。

参考资料. (3)实验一图像分割与边缘检测一.实验目的1. 理解图像分割的基本概念;2. 理解图像边缘提取的基本概念;3. 掌握进行边缘提取的基本方法;4. 掌握用阈值法进行图像分割的基本方法。

二.实验基本原理●图象边缘检测图像理解是图像处理的一个重要分支,研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。

边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。

在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。

边缘检测实际上就是检测图像特征发生变化的位置。

图像的边缘检测实验报告

图像的边缘检测实验报告

图像的边缘检测实验报告图像的边缘检测实验报告一、引言图像处理是计算机科学领域中的一个重要研究方向,而边缘检测作为图像处理的基础任务之一,具有广泛的应用价值。

边缘是图像中灰度或颜色变化较为剧烈的地方,通过检测图像中的边缘可以提取出物体的轮廓、形状等重要信息,从而为后续的图像分析和识别提供基础。

二、实验目的本次实验旨在探究不同的边缘检测算法在图像处理中的应用效果,并通过实验结果分析和比较各算法的优缺点,从而为图像处理领域的研究和应用提供参考。

三、实验方法1. 实验环境:使用Python编程语言,结合OpenCV图像处理库进行实验。

2. 实验数据:选择了包含多种物体和复杂背景的图像作为实验数据,以保证实验的可靠性和准确性。

3. 实验步骤:(1) 读取图像数据,并将其转化为灰度图像。

(2) 对图像进行预处理,如降噪、平滑等操作,以提高边缘检测的效果。

(3) 使用不同的边缘检测算法对图像进行处理,如Sobel算子、Canny算法等。

(4) 分析和比较不同算法的实验结果,评估其优缺点。

四、实验结果与分析1. Sobel算子:Sobel算子是一种基于梯度的边缘检测算法,通过对图像进行卷积操作,提取出图像中的边缘信息。

实验结果显示,Sobel算子能够较好地检测出图像中的边缘,但对于噪声较多的图像效果较差。

2. Canny算法:Canny算法是一种经典的边缘检测算法,通过多步骤的处理过程,包括高斯滤波、计算梯度、非极大值抑制和双阈值处理等,最终得到清晰准确的边缘信息。

实验结果显示,Canny算法能够有效地检测出图像中的边缘,并具有较好的抗噪性能。

3. 其他算法:除了Sobel算子和Canny算法外,还有许多其他的边缘检测算法,如拉普拉斯算子、Roberts算子等,它们各自具有不同的特点和适用范围。

在实验中,我们也对这些算法进行了尝试和比较,发现它们在不同的图像场景下有着各自的优势和局限性。

五、实验总结与展望通过本次实验,我们对图像的边缘检测算法进行了探究和比较。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

边缘提取与图像分割
理论、算法、源码与实例
1)理论
一、边缘检测的基本方法:
各种差分算子,主要有:
差分边缘检测方法
Roberts梯度模算子
前两种对垂直,水平,对角检测好。

Prewitt算子,Robinson算子(算八个方向的梯度最大值)
Sobel算子(利用上下左右加权,可平滑噪声);
Kirsch算子
Rosenfeld算子
Laplace算子(二阶导数算子,一般不用于检测,用于之后判别暗区与明区。


LOG算子,(高斯平滑后求导提取边界。


主要思路用高斯函数对图像平滑滤波,然后再对图像进行拉普拉斯运算,算得的值等于零的点认为是边界点。

该算法高斯函数方差取值很重要,过大会导至精度不高。

还容易产生虚假边界。

但可以用一些准备去除虚假边界。

对于灰度渐变图的效果也不太好。

但大部份图片边缘提取效果还好。

Canny边界检测算子
二、拟合曲面求导提取边界。

主要思路为在点的邻域各点拟合一个曲面,由曲面的求导代替离散点求差分,这种方法对于噪声比较不敏感。

三、统计判决法提取边界
以误判概率最小化设置门限,对边界检测算子作用后的每个像点判别/。

统计判决法依赖于先验知识。

四、分裂—合并算法
按一定的均一化标准,将图片分成子图。

合并满足均一性准则的子图。

五、跟踪技术
1)区域跟踪,基于区域的图像分割方法。

应用于直接提取区域。

检测满足跟踪准则的点,找到这样的点,检测其所有邻点,把满足跟踪准则的任合邻点合并再重复。

直到没有邻点满足检测准则。

2)曲线跟踪,基于边界的图像分割方法。

对整幅图扫描,对所有“现在点”的邻点检测,周围没有满足跟踪条件的点时,返回到上一个最近的分支处,取出另一个满足跟踪原则的现在点。

重复根踪。

六、模型化与统计检验法检测边界
开始步骤为对图像划分成多块子图,每块子图进行曲面拟合。

并应用误差的分析,构造F 统计量,判断此区域是否有边界的存在。

七、匹配检测技术
基于区域的一种分割方法。

1)归一化互相关测度匹配
类似于求相关系数。

但是这种方法实用时不太理想,因为匹配模板的尺寸跟图上的尺寸差异,造成操作很难。

2)匹配滤波器
基于最大信噪比准则。

用一个滤波器对图像子图作卷积,当滤波器为子图旋转180度后的K倍时,功能与相关系数一样。

此时称为匹配滤波器。

3)线检测
用匹配滤波器可以设计一些线检测器。

对直线检测效果好。

八、利用模式识别某些技术进行图像分割
对每个像素提取特征,提取一个n维特征,如果特效果好,那么在特征空间里,像素点会表现出类聚。

一般来说,特征是区域性的,一般是征对邻域或图像的各个子图提取特征。

通常特征包含,灰度,空间关系(梯度,像素小块邻域平均灰度,纹理参数,颜色)等。

九、基于活动轮廓模型的边界提取算法
不同于经典的基于求导自下而上过程,而是一种基于总体和局部的自上而下和自下而上的处理过程。

借助一些物理概念构造一个描述轮廓状态指标,将图像灰度分布,灰度梯度及轮廓形状约束等信息作为“外能”和“内能”构造活运轮廓的能量函数。

将一个初始轮廓放在感兴趣的图像区域中,轮廓在外力和内力作用下变形,外力推动活动轮廓向着物体的边缘运动,而内力要使活动轮廓趋于光滑和保持其拓朴性。

在达到平衡时,对应的能量最小,此时的活动轮廓即为要检测的边界。

十、基于视觉特性的边界提取方法
——线性加权函数(LWF)在边界检测中的应用
视觉系统对亮度对比度的感知可以转化为数学中的微分算子的特征值问题,视觉的感觉响应类似于高斯函数与其拉普拉斯变换之和。

基于生理学和数学导出的线性加权函数(LWF)是高斯函数与它的二阶导数的线性组合.
视觉处理过程是图像与一系列不同方差的高斯函数及其二阶导数的卷积过程。

2)实验:
一、对一种普通图像的边缘提取:
对于边缘处灰度值有阶越变化的图形,使用各种差分算子可以很好的提取。

例如对下图:(分别使用sobel,Roberts,prewitt,log,canny,laplace算子进行检测。


I=imread('rice.png');
>> BW1=edge(I,'sobel');BW2=edge(I,'roberts');BW3=edge(I,'prewitt');
BW4=edge(I,'log');BW5=edge(I,'canny');
h=[0 -1 0;-1 4 -1;0 -1 0];
BW6=edge(I,'zerocross',h);
subplot(231);imshow(BW1);subplot(232),imshow(BW2);
subplot(233);imshow(BW3);subplot(234),imshow(BW4);
subplot(235);imshow(BW5);subplot(236),imshow(BW6);
效果如下页各图:
从上面的结果来看,sobel,Roberts,prewitt,log,canny,算子都可以检测出明显边缘,细节方面,sobel LOG canny方法的抗噪能力更强。

Roberts在一些线检测方面有点弱,边界不太连续。

然而直接应用laplace算子,可以看出对噪声的极度敏感,也提不出好的边界。

所以一般不直接使用,而是先进行高斯滤波,再使用(也就是LOG算子)。

二、对抗噪能力的检测
对下图这种手写体字符的边缘提取:
用sobel算子的结果:
用LOG算子的结果:
可以明显对比出先平滑后再进行边缘提取的效果。

会减少很多虚假边界。

三、对渐变图形
差分算子,对渐变图型无效。

如右图为一幅梯度渐变灰度图。

用差分算子,提不出任何边缘。

但可以考虑使用灰度门限,或者形态学滤波提取骨架。

midx=256/2;midy=256/2;
for i=1:256
for j=1:256
a(i,j)=2*(128-max(abs(i-midx),abs(j-midy)));
end
end
imshow(a,[]);
BW=edge(a);
figure(2);
imshow(BW);
BW2=bwmorph(a,'skel',Inf);
imshow(BW2) ;
四、在人脸边缘的提取中:
I=imread(‘boy.bmp’);
BW1=edge(I,'sobel');BW2=edge(I,'roberts');BW3=edge(I,'prewitt'); BW4=edge(I,'log');BW5=edge(I,'canny');
subplot(231);imshow(BW1);subplot(232),imshow(BW2);
subplot(233);imshow(BW3);subplot(234),imshow(BW4);
subplot(235);imshow(BW5);subplot(236),imshow(I);
在人脸边缘的提取中可以看出,LOG和canny算子,更加符合人的视觉效果。

如果使用LWF 去噪效果应该更好。

相关文档
最新文档