实验三图像分割

合集下载

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

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

实验报告课程名称数字图像处理导论专业班级_______________姓名 _______________学号_______________电气与信息学院与谐勤奋求就是创新一.实验目得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指标,我们可以得到两种算法在不同场景下的性能评估。

mean-shift图像分割

mean-shift图像分割

由式 (4) 获得 :
������ = . ������+1
∑������������=1 ������������������������������(||������������������ℎ−������������������������||2)������(||������������������ℎ−������������������������||2) ∑������������=1 ������������������(||������������������ℎ−������������������������||2)������(||������������������ℎ−������������������������||2)
图4 3. 图像分割的细节图片如图 5 所示:
图5
实验小结
根据 mean-shift 算法原理,通过对聚类中心的不断迭代,从而找到相近的类,达到分割 的目的。通过这次实验,进一步理解了图像分割的含义,也充分体现了 mean-shift 算法在图 像分割中的应用。
参考文献
【1】 【2】 【3】
Mean-shift 跟踪算法中核函数窗宽的自动选取——彭宁嵩 杨杰 刘志 张凤超——软 件学报——2005,16(9) Mean-shift 算法的收敛性分析——刘志强 蔡自兴——《《软件学报》》——2007,18 (2) 基于分级 mean-shift 的图像分割算法——汤杨 潘志庚 汤敏 王平安 夏德深
计算机视觉实验三
——利用 mean-shift 进行图像分割
算法简介
mean-shift 是一种非参数概率密度估计的方法。通过有限次的迭代过程,Parzen 窗定义 的概率密度函数能够快速找到数据分布的模式。由于具有原理简单、无需预处理、参数少等 诸多优点,mean-shift 方法在滤波、目标跟踪、图像分割等领域得到了广泛的应用。

图像分割 实验报告

图像分割 实验报告

图像分割实验报告《图像分割实验报告》摘要:图像分割是计算机视觉领域的重要研究方向,它在许多领域都有着重要的应用价值。

本实验旨在探究图像分割算法在不同场景下的表现,并对比不同算法的优缺点,为图像分割技术的进一步发展提供参考。

一、实验背景图像分割是指将图像划分成若干个具有独立语义的区域的过程。

图像分割技术在医学影像分析、自动驾驶、图像识别等领域都有着广泛的应用。

因此,对图像分割算法的研究和优化具有重要意义。

二、实验目的本实验旨在通过对比不同图像分割算法在不同场景下的表现,探究其优劣,并为图像分割技术的进一步发展提供参考。

三、实验内容1. 数据准备:收集不同场景下的图像数据,包括自然景观、医学影像、交通场景等。

2. 算法选择:选择常用的图像分割算法,如基于阈值的分割、边缘检测、区域生长等。

3. 实验设计:将不同算法应用于不同场景的图像数据上,对比它们的分割效果和计算速度。

4. 结果分析:对比不同算法的优缺点,并分析其适用场景和改进空间。

四、实验结果通过实验我们发现,在自然景观图像中,基于阈值的分割算法表现较好,能够有效地将图像分割成不同的颜色区域;而在医学影像中,边缘检测算法表现更为出色,能够准确地识别出器官的边缘;在交通场景中,区域生长算法表现较好,能够有效地区分不同的交通标志和车辆。

五、结论不同的图像分割算法在不同场景下有着不同的表现,没有一种算法能够适用于所有场景。

因此,我们需要根据具体的应用场景选择合适的图像分割算法,或者结合多种算法进行优化,以达到更好的分割效果。

六、展望未来,我们将继续探究图像分割算法的优化和改进,以适应不同场景下的需求。

同时,我们还将研究图像分割算法在深度学习和人工智能领域的应用,为图像分割技术的发展贡献力量。

通过本次实验,我们对图像分割算法有了更深入的了解,也为其在实际应用中的选择提供了一定的指导。

希望我们的研究能够为图像分割技术的发展做出一定的贡献。

图像分割实验报告

图像分割实验报告

图像分割实验报告医学图像处理实验报告实验名称:图像分割设计实验姓名:gaojunqiang学号:20105405班级:生医 1001指导教师:……2013年6月5日一、实验目的1、编程实现下列功能:读出存储的黑白灰度图象并显示,用拉普拉斯算子对图象进行边缘检测,显示处理后图象,存储处理后图象。

2、编程实现下列功能:读出存储的黑白灰度图象并显示,用鼠标点击图象上某一点,以灰度相近原则进行区域生长,显示处理后图象,存储处理后图象。

二、实验原理1、拉普拉斯边缘检测二维函数f(x,y)的拉普拉斯是一个二阶的微分定义为:,2f = [,2f / ,x2 ,,2f / ,y2]一般情况下可以用一个拉普拉斯模板算子。

模板算子分为4邻域和8邻域,如下,2f = 4z5 – (z2 + z4 + z6 + z8)0 1 01 -4 10 1 04邻域模板算子,2f = 8z5 – (z1 + z2 + z3 + z4+z5 + z6 + z7+ z8)1 1 11 -8 11 1 18邻域模板算子2、区域增长区域增长是通过一个起始点作为种子点对他周围的点进行选择。

它采取的是一种迭代的思想。

区域增长也分为四邻域和八邻域两种方式。

通过像素的集合进行区域增长的算法如下:1)根据图像的不同应用选择一个或一组种子,它或者是最亮或最暗的点,或者是位于点簇中心的点。

2)选择一个描述符(条件)3)从该种子开始向外扩张,首先把种子像素加入集合,然后不断将与集合中各个像素连通、且满足描述符的像素加入集合4)上一过程进行到不再有满足条件的新结点加入集合为止。

三、实验代码及结果1、拉普拉斯边缘检测代码如下:%主函数如下:clc;closeall;clearall;Imag = imread('lena.tiff');ImagGray = rgb2gray(Imag); %将彩色图片转换成灰度图片 figure()imshow(ImagGray),title('灰度图像');% T = graythresh(ImagGray); %用大津法自动确定阈值 %I=edge(ImagGray,'log',0.004);% figure(),imshow(I), title('laplace边缘图像'); ImagGray =double(ImagGray); T = 60; %设置阈值LapModType = 8; %设置laplace模板方式ImagLapEdge = LaplaceEdge(ImagGray,LapModType,T); %laplace边缘检测ImagLapEdge = uint8(ImagLapEdge);figure()imshow(ImagLapEdge),title('laplace边缘图像');%拉普拉斯边缘检测函数如下:functionImagLapEdge = LaplaceEdge(ImagGray,MoldType,Thresh)%-----------------参数介绍-------------------- %输入参数:% ImagGray: 输入的灰度图像% MoldType: 摸板类型,包括四邻域和八邻域 % Thresh: 边缘检测阈值%输出参数:% ImagEdge: 边缘像素点,存储的是二值化图像[r,c] = size(ImagGray); ImagLapEdge = zeros(r,c);%四邻域拉普拉斯边缘检测算子if 4 == MoldTypefori = 2:r-1for j = 2:c-1Temp =-4*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1);if Temp > ThreshImagLapEdge(i,j) = 255; elseImagLapEdge(i,j) = 0; endendendend%八邻域拉普拉斯边缘检测算子if 8 == MoldTypefori = 2:r-1for j = 2:c-1Temp =-8*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1)+ImagGray(i-1,j-1)+ImagGray(i+1,j+1)+ImagGray(i+1,j-1)+ImagGray(i-1,j+1);if Temp > ThreshImagLapEdge(i,j) = 255; elseImagLapEdge(i,j) = 0;endendendend拉普拉斯边缘检测实验结果如下:图1 原灰度图像2、区域增长实验代码:主函数如下:clc;closeall;clearall;Imag = imread('lena.jpg');figure()imshow(Imag), title('原灰度图片');n = 4; %设置区域增长的种子点数 [x,y] = ginput(n); %在图像上取点 V = [y,x];V = uint16(V);thresh = 33; %区域增长的阈值growingtype = 8; %增长方式[regionGet,imout,regionsize]=regiongrowing(V,Imag,thresh,growingtype ); %区域增长函数figure()imshow(imout), title('区域分割后的图片'); holdonplot(x,y,'+');由于区域增长代码老师已给这里就不在写出。

遥感实验三(图像分割)2010

遥感实验三(图像分割)2010
附录:
卷积滤波
卷积(Convolutions)滤波是通过消除特定的空间频率来使图像增强,根据增强类型(低频、中频和高频)不同可分为低通滤波、带通滤波和高通滤波。此外还可以增强图像某些方向特征的方向滤波等。它们的核心部分是卷积核。ENVI提供很多卷积核,包括高通滤波(High Pass)、低通滤波(Low Pass)、拉普拉斯算子(Laplacian)、方向滤波(Directional)、高斯高通滤波(Gaussian High Pass)、高斯低通滤波(Gaussian Low Pass)、中值滤波(Median)、Sobel、Roberts,还可以自定义卷积核。具体操作如下:
下面对ENVI中各种滤波作一个简单的说明,如表5.1。
表5.1 各种滤波说明
滤波
说明
高通滤波器(High Pass)
高通滤波在保持图像高频信息的同时,消除了图像中的低频成分。它可以用来增强纹理、边缘等信息。高通滤波通过运用一个具有高中心值的变换核来完成(周围通常是负值权重)。ENVI默认的高通滤波器使用3×3的变换核(中心值为“8”,周围像元值为“-1”),高通滤波卷积核的维数必须是奇数。
二、实验内容
(1)利用直方图进行图像分割
实验步骤:1、打开实验图像(地物与直方图DSCF0153.JPG)并显示图像直方图
2、在直方图窗口,移动RGB拉伸的最小值分别为150,160,150,并分别应用,查看拉伸后的图像。
原图:
最小值150的拉伸:
最小值160的拉伸:
去除天空的操作:(菜单—basictools—bandmath)
3)Editable Kernel
卷积核中各项的值。在文本框中双击鼠标可以进行编辑,选择File->Save Kernel或者Restore Kernel,可以把卷积核保存为文件(.ker)或者打开一个卷积核文件。

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

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

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

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

三.实验方法: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这个模板较多地体现了南向的情况。

图像分割实验报告汇总

图像分割实验报告汇总
图像分割实验
一、实验目的
1.掌握图像分割的基本思想,了解其分割技术及其计算策略;
2.学会从图像处理到分析的关键步骤,掌握图像分割过程;
3.了解图像分割的意义,进一步加深对图像分析和理解;
4.掌握基本分割方法:迭代分割和OTSU图像分割,并编程实现。
二、实验原理
(一)迭代阈值分割选取的基本思路是:首先根据图像中物体的灰度分布情况,选取一个近似阈值作为初始阈值,一个较好的方法就是将图像的灰度均值作为初始阈值,然后通过分割图像和修改阈值的迭代过程获得认可的最佳阈值。迭代式阈值选取过程可描述如下:
由图3可得:对于直方图双峰不明显或图像目标和背景比例差异悬殊迭代法所选取的阈值不如最大类间方差法(OTSU)(差异不是很大,很细微)。
但是对于直方图双峰明显谷底较深的图像迭代分割可以较快地获得满意结果。
五、实验程序段(具体见实验框架)
1.迭代图像分割:
void CImageProcessingDoc::Onimagediedaifenge()
msg.Format("分割阈值T=%d",T);
AfxMessageBox(msg);
for(j=0;j<m_Height;j++)
{
for(i=0;i<m_Width;i++)
{
if (m_pDibInit->m_pDibBits[j*m_SaveWidth + i]>=T)
m_pDibInit->m_pDibBits[j*m_SaveWidth + i]=255;
1.计算初始化阈值 = ;
2.根据 ,将图像分为两部分,分别计算灰度值期望,取其平均值为g1;

实验三数字图像分割处理

实验三数字图像分割处理

实验三数字图像分割处理一、实验目的1.熟悉并掌握图像分割处理的方法以及编程实现方法。

2.熟悉图像分割处理的过程。

二、实验内容图像分割是一种重要的图像分析技术。

图像分割是从图像预处理到图像识别和分析理解的关键步骤,在图像处理中展重要位置,一方面它是目标表达的基础,对特征测量有重要的影响,另一方面,图像分割以及基于分割的目标表达、特征提取和参数测量等将原始图像转化为更为抽象更为紧凑的形式,使得到更高层的图像识别、分析和理解成为可能。

典型而传统的分割方法可分为基于阈值的方法、基于边缘的方法和基于区域的分割方法等。

三、实验原理1、灰度阈值法是把图像的灰度分成不同等级,然后用设置灰度阈值的方法确定有意义的区域或欲分割物体的边界。

阈值T一般可写成:T=T[x,y,p(x,y),q(x,y)] (1)其中p(x,y)代表点(x,y)处的灰度值,q(x,y)代表该点邻域的某种局部特性.根据(1)式可将阈值分为全局阈值、局部阈值和动态阈值.如果T的选取只与p(x,y)有关,则是全局阈值,全局阈值是利用全局信息(例如整个图像的灰度直方图)得到的阈值,它仅与全图各像素的本身性质有关,对全图使用;如果T的选取与p(x,y),q(x,y)有关,则是局部阈值,它与图像局部区域性质有关,全局阈值和局部阈值也称为固定阈值;如果T的选取不仅与p(x,y),q(x,y)有关,还与该点的坐标(x,y)有关,则是动态阈值.动态阈值的选取是将原始图像分成若干个子图,然后利用某种固定阈值选取法对每一个子图确定一个阈值,再通过对这些子图所得阈值的插值得到对图像中每个像素进行分割所需的阈值。

2、边缘检测法Robert算子是一种利用局部差分算子寻找边缘的算子:g(x,y)={[f(x,y)-f(x+1,y+1)]^2+[f(x+1,y)-f(x,y+1)]^2}^1/2Laplacian算子是常用的边缘检测算子,它是各向同性的二阶导数。

Canny算子是由Gaussian卷积得到的边缘图像用抑制非极大值点的算法对梯度图像作后续处理。

图像分割实验报告

图像分割实验报告

图像分割实验报告一、实验目的1、掌握图像分割的基本思想,了解其分割技术及其计算策略;2、学会从图像处理到分析的关键步骤,掌握图像分割过程;3、了解图像分割的意义,进一步加深对图像分析与理解;4、掌握基本分割方法:迭代分割与OTSU图像分割,并编程实现。

二、实验原理(一)迭代阈值分割选取的基本思路就是:首先根据图像中物体的灰度分布情况,选取一个近似阈值作为初始阈值,一个较好的方法就就是将图像的灰度均值作为初始阈值,然后通过分割图像与修改阈值的迭代过程获得认可的最佳阈值。

迭代式阈值选取过程可描述如下:1、计算初始化阈值g0=(g max+g min);22、根据g0,将图像分为两部分,分别计算灰度值期望,取其平均值为g1;3、如此反复迭代,当|g n-g n−1|足够小时,停止迭代,取T=g n即为最终阈值。

(二)OTSU图像分割(最大类间方差法)就是一种自适应的阈值确定的方法,就是按图像的灰度特性,将图像分成背景与目标两部分。

背景与目标之间的类间方差越大,说明构成图像的两部分的差别越大, 当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。

因此,使类间方差最大的分割意味着错分概率最小。

以最佳门限将图像灰度直方图分割成两部分,使两部分类间方差取最大值,即分离性最大。

OTSU阈值选取过程可描述如下:1、记T为目标与背景的分割阈值,目标点数占图像比例为w1, 平均灰度为u1;背景点数占图像比例为w2,平均灰度为u1;2、图像的总平均灰度为:u=w1*u1+w2*u2;3、目标与背景图象的方差:g=w1*(u1-u)*(u1-u)+w1*(u2-u)*(u2-u)=w1*w2*(u1-u2)*(u1-u2);4、当方差g最大时,可以认为此时前景与背景差异最大,此时的灰度T就是最佳阈值。

二、实验内容1、利用C++编程实现迭代阈值图像分割算法;2、利用C++编程实现OTSU动态阈值图像分割算法。

三、实验框图四、实验结果与分析图1原图图2迭代图像分割图3OTSU图像分割实验分析:由图2可知:迭代所得的阈值分割的图象效果良好,能区分出图像的目标与背景的主要区域,但在图像的细微处还没有很好的区分度。

实验三图像分割

实验三图像分割

实验三图像分割一、实验目的1、了解图像分割的基本概念;2、掌握阈值分割、边缘检测的基本分割方法;3、对检测的目标图像分析其目标特征二、实验内容1、实验原理阈值分割利用图像中要提取的目标物与其背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域的组合,选择一个合适的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生二值图像。

边缘检测是利用边缘灰度变化的一阶或二阶导数的特点,可以将边缘点检测出来。

常用梯度、roberts、sobel、prewitt等算子进行检测。

图1 两种边缘点附近灰度方向导数变化规律2、MATLAB实现(1)在处理图像直方图的工具箱中,核心函数为imhist,其语法为:imhist(f,n)——直接显示f为输入图像,h为其直方图,n是形成直方图的灰度级个数(默认256)。

(2)阈值分割BW=im2bw( I,level) ——将灰度图像、RGB图像转换为二值图像Level为阈值(0~1),当输入图像的亮度小于level时,输出0,大于时输出1。

或不用函数。

直接编程实现。

(3)边缘检测函数edge提供了几个导数估计器。

该函数基本语法为:[g,t]=edge(f,‘method’,parameters)f——输入图像,g——输出图像,t——阈值。

‘method’是具体用到的检测方法(sobel、prewitt、roberts、log、zerocross、canny),parameters对应不同检测方法的参数。

sobel边缘检测器[g,t] = edge(f,'sobel',T,'dir')T:指定阈值,dir:检测边缘首选方向(horizontal、vertical、both)g:检测到的逻辑图像,边缘位置为1,其余位置为0。

t可选,输出参数edge函数所用阈值T。

(一般t和T参数可以不用,dir默认为both)prewitt边缘检测器[g,t] = edge(f,'prewitt',T,'dir')该函数参数与sobel相同。

数字图像处理实验报告3

数字图像处理实验报告3

实验三图像分割实验一.实验目的1. 掌握基本的图像分割方法2.观察图像分割的效果3.加深对边缘提取的理解二.实验原理1.边缘检测:图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。

图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位。

2.灰度阈值分割即是先确定一个处于图像灰度取值范围内的灰度阈值,然后将图像中各个像素的灰度值与这个阈值相比较:划分成像素灰度大于阈值的一类和小于阈值的一类。

3. 双峰法的原理及其简单:它认为图像由前景和背景组成,在灰度直方图上,前后二景都形成高峰,在双峰之间的最低谷处就是图像的阈值所在三.实验内容1.实验步骤1.打开matlab编程环境;2.利用“imread”函数导入图像数据;3.利用“imshow”显示所读入的图像数据;4.进行图像分割处理;5.记录和整理实验报告;2. 按下面要求编写程序并运行结果1. 用sobel方法对一幅灰度图像进行边缘提I=imread('cameraman.bmp');R=double(I(:,:,1));G=double(I(:,:,2));B=double(I(:,:,3));[rows,cols]=size(R);I=0.299*R+0.587*G+0.114*B;[H,W]=size(I);M=double(I);J=M;for i=2:H-1for j=2:W-1J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));end;end;for i=2:H-1for j=2:W-1if J(i,j)>254J(i,j)=255;elseJ(i,j)=0;endendendsubplot(1,2,1);imshow(uint8(I));title('原图');subplot(1,2,2);imshow(uint8(J));title('Sobel 处理后');2.用 Laplacian-Gaussian方法对一幅灰度图像进行边缘提取I = imread('cameraman.bmp');R=double(I(:,:,1));G=double(I(:,:,2));B=double(I(:,:,3));[rows,cols]=size(R);I=0.299*R+0.587*G+0.114*B;s=fftshift(fft2(I));[M,N]=size(s);n=2;d0=400;n1=floor(M/2);n2=floor(N/2);for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);h=1*exp(-1/2*(d^2/d0^2));s(i,j)=h*s(i,j);endends=ifftshift(s);s=uint8(real(ifft2(s))); subplot(1,2,1),imshow(s);title('GLPF滤波');s=double(s);[r,c]= size(s);R=zeros(r,c);core1=[-1 -1 -1;-1 8 -1;-1 -1 -1];core2=[0 -1 0;-1 4 -1;0 -1 0];for x=2:r-1for y=2:c-1Z=[s(x-1,y-1) s(x-1,y) s(x-1,y+1);s(x,y-1) s(x,y) s(x,y+1);s(x+1,y-1) s(x+1,y) s(x+1,y+1)];A=core1*Z;B=core2*Z;R(x,y)=max(abs(sum(sum(A))),abs(sum(sum(B))));endendfor x=2:r-1for y=2:c-1if R(x,y)>250R(x,y)=255;elseR(x,y)=0;endendendsubplot(1,2,2),imshow(uint8(R));title('拉普拉斯处理后 ');3. 利用双峰法对一幅灰度图像进行灰度分割处理I = imread('lena.bmp');I=double(I);sum_obj=0;obj_counter=0;sum_backgnd=0;backgnd_counter=0;[rows,cols]=size(I);cols_c=floor(cols/20);rows_c=floor(rows/20);corners=[I(1:rows_c,1:cols_c);I(1:rows_c,(end-cols_c+1):end);I((en d-rows_c+1):end,1:cols_c);I((end-rows_c+1):end,(end-cols_c+1):end) ];threshold=mean(mean(corners));while 1for i=1:rowsfor j=1:colsif(I(i,j)>threshold)sum_obj=sum_obj+I(i,j);obj_counter=obj_counter+1;elsesum_backgnd=sum_backgnd+I(i,j);backgnd_counter=backgnd_counter+1;endendendnew_threshold=((sum_backgnd/backgnd_counter)+(sum_obj/obj_counter))/2 ;if(abs(threshold-new_threshold)<=0.01)break;endthreshold=new_threshold;endfor i=1:rowsfor j=1:colsIf(I(i,j)<=threshold)I(i,j)=0;elseI(i,j)=255;endendendimshow(I);四.实验结果及分析1. sobel边缘提取placian-Gaussian方法边缘提取3.双峰法对一幅灰度图像进行灰度分割处理五.实验小结与体会1.本次实验以图像分割为主线,涉及边缘提取2. 通过实验结果的比较,对课堂上的理论有了直观的认识,也为更好的理解理论奠定了基础,培养了兴趣。

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

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

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

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

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

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

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

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

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

s实验三 图像分割

s实验三 图像分割

实验三 图像分割一、实验目的1、掌握基于边缘的分割方法:检测图像的点边缘、线边缘2、掌握基于区域的分割方法:阈值分割技术、区域生长技术3、用MATLAB 编写程序实现上述分割方法二、实验内容1、点、线和边缘检测1)点检测方法为g=abs(imfilter(double(I),w))>=T ,w 为8邻域拉普拉斯模板进行滤波,得到滤波图像为g ,设定一个阈值(范围在图像最低灰度值与最高灰度值之间),将图像g 中大于该阈值的部分显示出来,即得到检测的点。

源程序:clear;clear all;I=imread('barb.png');subplot(1,2,1);imshow(I);title('原图');w=[-1 -1 -1;-1,8,-1;-1,-1,-1];g=abs(imfilter(double(I),w))>=50;subplot(1,2,2);imshow(g);title('点检测后的图');结果如下:2)线检测方法为g=abs(imfilter(double(I),w)),模板w 分别设为水平、垂直、+45度,-45度,模板如下。

模板为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------112121211211121112121121121111222111 源程序:clear;clear all;I=imread('crosses.png');subplot(2,3,1);imshow(I);title('原图像');w1=[-1 -1 -1;2 2 2;-1 -1 -1];A=abs(imfilter(double(I),w1))>=10;subplot(2,3,2);imshow(A);title('水平');w2=[-1 2 -1;-1 2 -1;-1 2 -1];B=abs(imfilter(double(I),w2))>=10;subplot(2,3,3);imshow(B);title('垂直');w3=[2 -1 -1;-1 2 -1;-1 -1 2];C=abs(imfilter(double(I),w3))>=10;subplot(2,3,4);imshow(C);title('+45度');w4=[-1 -1 2;-1 2 -1;2 -1 -1];D=abs(imfilter(double(I),w4))>=10;subplot(2,3,5);imshow(D);title('-45度');结果如下:3)边缘检测方法为edge函数,BW = edge(I,‘parameter’),即用edge函数,尝试G 改变parameter,用不同算子,实现图像边缘检测。

图像分割实验报告

图像分割实验报告

图像分割实验报告
《图像分割实验报告》
图像分割是计算机视觉领域的一项重要技术,它能够将图像分割成不同的区域或对象,为图像识别、目标检测等任务提供了重要的基础。

本实验报告将介绍我们在图像分割领域的研究成果及实验结果。

实验目的
本次实验的目的是通过对图像分割算法的研究和实验,探讨不同算法在图像分割任务中的表现,并对比它们的优缺点,为进一步的研究提供参考。

实验方法
我们选取了常用的图像分割算法,包括基于阈值的分割、区域增长法、边缘检测法、基于聚类的分割等,对这些算法进行了实验比较。

我们使用了多种类型的图像数据集,包括自然场景图像、医学影像等,以验证算法在不同场景下的表现。

实验结果
通过实验,我们发现不同的图像分割算法在不同的图像类型下表现出不同的优劣势。

基于阈值的分割算法在简单的图像中表现较好,但在复杂的场景下效果有限;区域增长法对于连续性较强的对象分割效果较好;边缘检测法在处理边缘清晰的图像时表现出色;基于聚类的分割算法对于复杂背景下的对象分割有一定优势。

结论
通过本次实验,我们对图像分割算法的优劣势有了更深入的了解,不同的算法适用于不同的场景。

在未来的研究中,我们将进一步探索图像分割算法的改进
和优化,以提高图像分割的准确性和效率,为计算机视觉领域的发展贡献力量。

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

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

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

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

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

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

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

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

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

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

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

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

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

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、熟悉图像形态学分析的基本原理,观察不同形态学方法处理的结果;2、熟悉图像阈值分割、区域生长、投影及差影检测和模板匹配的基本原理,观察处理的结果;3、熟悉图像边缘检测、Hough平行线检测、轮廓提取及跟踪和种子填充的基本原理,观察处理的结果;4、了解图像矩、空穴检测、骨架提取的基本原理,观察处理的结果。

三、实验原理本次实验侧重于演示观察,由于内容繁多,并且系统中已有部分实验项目的原理说明,因此实验原理及编程实现步骤这里不再详细叙述,有兴趣的同学可以查阅数字图像处理方面的有关书籍。

四、实验内容1、图像形态学分析内容包括:图像膨胀、图像腐蚀、开运算、闭运算和图像细化针对二值图像进行处理,有文字说明,实验步骤中将详细介绍其使用方法。

2、图像分割内容包括:阈值分割、区域生长、投影检测、差影检测和模板匹配阈值分割:支持灰度图像。

从图库中选择图像分割中的源图, 然后执行图像分析→图像分割→阈值分割, 比较原图和分割后的图, 对照直方图分析阈值分割的特点。

对源图再执行一次图像变换→点运算→阈值变换, 比较分析阈值变换和阈值分割的结果。

区域生长:支持灰度图像。

操作方法与阈值分割类似,比较分析其与阈值分割的不同。

投影检测:只支持二值图像。

从图库中选择投影检测中的源图, 然后执行图像分析→投影检测→水平投影, 然后再垂直投影, 记录下检测部分的水平和垂直方向的位置。

如有必要, 在检测之前, 对图像进行平滑消噪。

差影检测:支持灰度图像。

从图库中选择图像合成中的源图, 然后执行图像分析→图像合成→图像相减, 在弹出的文件对话框中选择图库图像合成中的模板图像,观察分析差影结果。

模板匹配:支持灰度图像。

从图库中选择模板匹配中的源图, 然后执行图像分析→模式识别→模板匹配, 在弹出的文件对话框中选择图库模板匹配中的模板图像, 观察分析结果。

图像分割实验报告

图像分割实验报告

图像分割实验报告图像分割实验报告一、引言图像分割是计算机视觉领域中的重要研究方向之一,它旨在将一幅图像分割成若干个具有相似特征的区域。

图像分割在许多应用中都起着关键作用,如目标检测、图像识别、医学图像处理等。

本实验旨在探究不同的图像分割算法的性能和适用场景。

二、实验方法本次实验选取了常用的两种图像分割算法:基于阈值的分割算法和基于边缘检测的分割算法。

实验使用的图像为一幅自然风景图。

1. 基于阈值的分割算法基于阈值的分割算法是最简单且常用的分割方法之一。

该方法通过设置一个或多个阈值,将图像中像素的灰度值与阈值进行比较,将像素分为不同的区域。

实验中,我们通过观察图像的灰度直方图,选择合适的阈值对图像进行分割。

2. 基于边缘检测的分割算法基于边缘检测的分割算法通过检测图像中的边缘信息来实现分割。

实验中,我们选取了经典的Canny边缘检测算法。

该算法首先对图像进行高斯滤波,然后计算图像的梯度,最后通过非极大值抑制和双阈值处理来提取图像的边缘。

三、实验结果1. 基于阈值的分割算法通过观察图像的灰度直方图,我们选择了适当的阈值对图像进行分割。

实验结果显示,该方法能够将图像中的前景物体与背景分离,并得到清晰的边界。

然而,该方法对光照变化和噪声比较敏感,当图像中存在复杂的纹理和颜色变化时,分割效果较差。

2. 基于边缘检测的分割算法使用Canny边缘检测算法对图像进行分割,实验结果显示,该方法能够有效地提取图像中的边缘信息。

与基于阈值的方法相比,基于边缘检测的方法对光照变化和噪声有较好的鲁棒性。

然而,该方法在分割复杂纹理和颜色变化较小的区域时,容易产生边缘断裂的问题。

四、讨论与总结通过本次实验,我们对比了基于阈值的分割算法和基于边缘检测的分割算法的优缺点。

基于阈值的方法简单直观,适用于对比较简单的图像进行分割;而基于边缘检测的方法能够提取图像中的边缘信息,适用于复杂的图像分割任务。

然而,两种方法都存在一定的局限性,需要根据具体的应用场景选择合适的算法。

实验三:图像分割

实验三:图像分割

实验三:图像分割一、实验目的1.掌握边缘检测的Matlab实现方法2.了解用四叉数分解函数进行区域分割的方法3.了解Matlab区域操作函数的使用方法4.了解图像分析和理解的基本方法二、实验内容1. 边缘检测<i>使用edge函数对图像‘rice.tif’进行边缘检测。

I=imread('rice.tif');imshow(I)bw1=edge(I,'roberts');bw2=edge(I,'sobel');bw3=edge(I,'prewitt');bw4=edge(I,'canny');bw5=edge(I,'log');figure,imshow(bw1)figure,imshow(bw2)figure,imshow(bw3)figure,imshow(bw4)figure,imshow(bw5)<ii>要求同时比较'roberts','sobel','prewitt','canny','log'算子的检测效果。

edge函数提供的最有效的边缘检测方法是canny方法。

优点:使用两种不同的阈值分别检测强、弱边缘,并且仅当弱边缘与强边缘相连时,才将弱边缘包含在输出图像中。

该方法不易受噪声干扰,能够在噪声和边缘间取得较好的平衡,检测到真正的弱边缘。

2.区域操作使用区域选择函数roicolor, 区域滤波函数roifilt2和区域填充函数roifilld对图像‘pout.tif’或‘eight.tif’进行区域操作。

I=imread('pout.tif');imshow(I)BW=roipoly;figure,imshow(BW)h=fspecial('unsharp');I2=roifilt2(h,I,BW);figure,imshow(I2)I3=roifill;figure,imshow(I3);I=imread('eight.tif');imshow(I)c=[222 272 300 270 221 194];r=[21 21 75 121 121 75];BW=roipoly(I,c,r);figure,imshow(BW)H=fspecial('unsharp');J1=roifilt2(H,I,BW);figure,imshow(J1)J2=roifill(I,c,r);figure,imshow(J2)3.区域分割使用函数qtdecomp对图像‘alumgrns.tif’进行四叉树分解。

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

实验三图像分割
一、实验目的
1、了解图像分割的基本概念;
2、掌握阈值分割、边缘检测的基本分割方法;
3、对检测的目标图像分析其目标特征
二、实验内容
1、实验原理
阈值分割利用图像中要提取的目标物与其背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域的组合,选择一个合适的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生二值图像。

边缘检测是利用边缘灰度变化的一阶或二阶导数的特点,可以将边缘点检测出来。

常用梯度、roberts、sobel、prewitt等算子进行检测。

图1 两种边缘点附近灰度方向导数变化规律
2、MATLAB实现
(1)在处理图像直方图的工具箱中,核心函数为imhist,其语法为:
imhist(f,n)——直接显示
f为输入图像,h为其直方图,n是形成直方图的灰度级个数(默认256)。

(2)阈值分割
BW=im2bw( I,level) ——将灰度图像、RGB图像转换为二值图像
Level为阈值(0~1),当输入图像的亮度小于level时,输出0,大于时输出1。

或不用函数。

直接编程实现。

(3)边缘检测
函数edge提供了几个导数估计器。

该函数基本语法为:
[g,t]=edge(f,‘method’,parameters)
f——输入图像,g——输出图像,t——阈值。

‘method’是具体用到的检测方法(sobel、prewitt、roberts、log、zerocross、canny),parameters对应不同检测方法的参数。

sobel边缘检测器
[g,t] = edge(f,'sobel',T,'dir')
T:指定阈值,dir:检测边缘首选方向(horizontal、vertical、both)
g:检测到的逻辑图像,边缘位置为1,其余位置为0。

t可选,输出参数edge函数所用阈值T。

(一般t和T参数可以不用,dir默认为both)
prewitt边缘检测器
[g,t] = edge(f,'prewitt',T,'dir')
该函数参数与sobel相同。

prewitt检测器比sobel检测器在计算上简单一些,但比较容易产生一些噪声。

Robert边缘检测器
[g,t] = edge(f,'roberts',T,'dir')
该函数参数与sobel相同。

(3)二值图像特征量
a)bwperim(I,CONN)——提取对象边界像素
CONN为邻域类型,4代表四连接,8代表八连接
BW2=bwperim(BW1,CONN),返回二值图像BW1的边界图像BW2。

b)S=bwarea(BW)——返回图像面积
c)Eul=bweuler(BW,n)——返回图像的欧拉数
n为连接类型,4为四连接,8为八连接
三、实验步骤
1、读取图像rice.tif,分别用Roberts, Sobel、prewitt对图像进行边缘检测,显示
检测结果。

比较三种算子处理的不同之处。

clear;
close all;
I=imread('rice.tif');
subplot(2,2,1);
imshow(I);title('原图');
[g,t] = edge(I,'roberts');
subplot(2,2,2);
imshow(g);title('roberts对图像边缘检测结果');
[g,t] = edge(I,'sobel');
subplot(2,2,3);
imshow(g);title('sobel对图像边缘检测结果');
[g,t] = edge(I,'prewitt');
subplot(2,2,4);
imshow(g);title('prewitt对图像边缘检测结果');
Roberts检测水平和垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声的影响。

Sobel对噪声具有平滑作用,提供较为精确的边缘方向信息,但边缘定位精度不够高。

Prewitt对噪声具有平滑作用,定位精度不够高。

prewitt检测器比sobel 检测器在计算上简单一些,但相对比较sobel容易产生一些噪声。

2、读取图像rice.tif,绘制直方图,双峰法阈值分割。

clear;
close all;
I=imread('rice.tif');
imshow(I);title('原图');
figure(2);
imhist(I,256);
title('直方图');
figure(3);
BW=im2bw(I,0.5);
imshow(BW);title('阈值分割二值图');
3、读取细胞图像‘cancer02.bmp’,根据相关阈值识别癌细胞。

具体过程:
读取图像(imread)——转换二值图像
提取边缘(bwperim)
计算周长L(边界像素的点数)
计算细胞高度H、宽度W、面积A(bwarea)
计算圆度C=4πA / L2、
矩形度R=A/(H*W)
伸长度E=min(H,W)/max(H,W)
设定阈值Ath1=10000 Ath2=50000
Cth=0.5 Rth=0.5 Eth=0.8
进行识别:若面积大于50000,则为可疑小细胞癌细胞。

若面积小于10000,则为正常细胞。

若面积在10000-50000之间,且C大于阈值0.5,R大于0.5,E大于阈值0.8,则为癌细胞。

相关函数:
Sum(BW)
若BW为图像矩阵,每一列的所有像素求和(或所有行求和),生成一维向量。

若BW为一维向量,则对所有元素求和。

在求周长、高度、宽度时可以用。

程序:
clear
close all
f=imread('cancer02.bmp');
subplot(2,1,1)
imshow(f);title('原图像');
BW=bwperim(f,4);
subplot(2,1,2)
imshow(BW);title('图像边缘');
L=sum(sum(BW))
H=max(sum(f)/255)
f1=rot90(f);
W=max(sum(f1)/255)
A=bwarea(f)
C=4*pi*A / L^2
R=A/(H*W)
E=min(H,W)/max(H,W)
ATH1=10000;ATH2=50000;Cth=0.5;Rth=0.5;Eth=0.8;
if A>ATH2
'可疑小细胞癌细胞'
elseif A<ATH1
'正常细胞'
else A>ATH1 & A<A TH2 & Cth>0.5 & Rth>0.5 & Eth>0.8 '癌细胞'
end
end
end
运行结果:
L =595
H =204
W =203
A =3.3241e+004
C =1.1799 R =0.8027 E =0.9951 ans =癌细胞。

相关文档
最新文档