实验2 图像分割

合集下载

图像分割处理实验报告

图像分割处理实验报告

图像分割处理实验报告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指标,我们可以得到两种算法在不同场景下的性能评估。

图像分割 实验报告

图像分割 实验报告

图像分割实验报告图像分割实验报告一、引言图像分割是计算机视觉领域中的一个重要研究方向,它旨在将一幅图像分割成具有语义意义的不同区域。

图像分割在许多应用中发挥着关键作用,如目标检测、场景理解和医学图像处理等。

本实验旨在探索不同的图像分割方法,并对其进行比较和评估。

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

首先,我们使用Python编程语言和OpenCV库加载图像,并对图像进行预处理,如灰度化和平滑处理。

接下来,我们将详细介绍这两种分割方法的实现步骤。

1. 基于阈值的分割基于阈值的分割是一种简单而常用的分割方法。

它通过将图像像素的灰度值与预先设定的阈值进行比较,将像素分为前景和背景两类。

具体步骤如下:(1)将彩色图像转换为灰度图像。

(2)选择一个适当的阈值,将图像中的像素分为两类。

(3)根据阈值将图像分割,并得到分割结果。

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

边缘是图像中灰度变化剧烈的区域,通常表示物体的边界。

具体步骤如下:(1)将彩色图像转换为灰度图像。

(2)使用边缘检测算法(如Canny算法)检测图像中的边缘。

(3)根据边缘信息将图像分割,并得到分割结果。

三、实验结果与讨论我们选择了一张包含多个物体的彩色图像进行实验。

首先,我们使用基于阈值的分割方法对图像进行分割,选择了适当的阈值进行实验。

实验结果显示,基于阈值的分割方法能够将图像中的物体与背景分离,并得到较好的分割效果。

接下来,我们使用基于边缘的分割方法对同一张图像进行分割。

实验结果显示,基于边缘的分割方法能够准确地检测出图像中的边缘,并将图像分割成多个具有边界的区域。

与基于阈值的分割方法相比,基于边缘的分割方法能够更好地捕捉到物体的形状和边界信息。

通过对比两种分割方法的实验结果,我们发现基于边缘的分割方法相对于基于阈值的分割方法具有更好的效果。

基于边缘的分割方法能够提供更准确的物体边界信息,但也更加复杂和耗时。

图像分割 实验报告

图像分割 实验报告

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

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

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

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

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

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

三、实验内容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,'+');由于区域增长代码老师已给这里就不在写出。

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

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

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

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

三.实验方法: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;

(完整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('加高斯噪声图像');%给图像加标题为'加高斯噪声图像'

图像分割技术的使用教程与案例分析

图像分割技术的使用教程与案例分析图像分割是计算机视觉领域的重要研究方向,它指的是将图像分成若干个具有相似特征的区域。

图像分割广泛应用于医学图像分析、目标检测、无人驾驶等领域。

本文将详细介绍图像分割技术的使用教程,并分享一些经典案例分析。

一、图像分割的基础原理图像分割的目标是将图像中的每个像素分配到对应的区域,使得同一区域内的像素具有相似的特征。

常用的图像分割方法包括基于阈值、边缘检测、区域生长、聚类等。

1. 基于阈值的分割方法:这是最简单且常用的分割方法,通过设定阈值,将图像中灰度值高于或低于阈值的像素分为不同的区域。

可以根据应用场景的需求来选择适当的阈值。

2. 边缘检测:边缘检测可以提取图像中的边界信息,然后根据边界信息将图像分割成不同的区域。

常用的边缘检测算法包括Sobel、Canny等。

3. 区域生长:区域生长是根据像素的相似性原则进行的,从种子像素开始,将与之相邻且相似的像素归为同一区域,逐步扩展分割区域。

区域生长的效果受到种子的选择、相似性准则的设定等因素的影响。

4. 聚类:聚类方法将图像像素聚合成若干个具有相似特征的集群,进而实现对图像的分割。

常用的聚类方法有K-means、Mean-shift等。

二、图像分割工具的使用教程在实际应用中,图像分割常常借助计算机软件或工具进行。

以下是两个常用的图像分割工具的使用教程。

1. OpenCVOpenCV是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。

下面是使用OpenCV进行图像分割的简单示例:(1)导入必要的库:```pythonimport cv2import numpy as np```(2)读取图像:```pythonimage = cv2.imread('image.jpg')```(3)将图像转换成灰度图像:```pythongray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)```(4)使用阈值方法进行分割,以获得二值图像:```pythonret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)```(5)显示分割结果:```pythoncv2.imshow('Segmentation', binary)cv2.waitKey(0)cv2.destroyAllWindows()```2. MATLABMATLAB是一种常用的科学计算工具,也提供了丰富的图像处理与分析函数。

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

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

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

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

1.图像阈值分割clear all, close all;I = imread('rice.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取不同值,重做上述试验,观察试验结果)以下是程序执行结果:Comand窗口:L =125IM2BW Convert image to binary image by thresholding.IM2BW produces binary images from indexed, intensity, or RGBimages. To do this, it converts the input image to grayscaleformat (if it is not already an intensity image), and thenconverts this grayscale image to binary by thresholding. Theoutput binary image BW has values of 0 (black) for all pixelsin the input image with luminance less than LEVEL and 1(white) for all other pixels. (Note that you specify LEVEL inthe range [0,1], regardless of the class of the input image.)BW = IM2BW(I,LEVEL) converts the intensity image I to blackand white.BW = IM2BW(X,MAP,LEVEL) converts the indexed image X withcolormap MAP to black and white.BW = IM2BW(RGB,LEVEL) converts the RGB image RGB to black andwhite.Note that the function GRAYTHRESH can be used to compute LEVELautomatically.Class Support-------------The input image can be of class uint8, uint16, or double.The output image BW is of class uint8.Example-------load treesBW = im2bw(X,map,0.4);imshow(X,map), figure, imshow(BW)See also GRAYTHRESH, IND2GRAY, RGB2GRAY.GRAYTHRESH Compute global image threshold using Otsu's method.LEVEL = GRAYTHRESH(I) computes a global threshold (LEVEL) that can be used to convert an intensity image to a binary image with IM2BW. LEVELis a normalized intensity value that lies in the range [0, 1].GRAYTHRESH uses Otsu's method, which chooses the threshold to minimize the intraclass variance of the thresholded black and white pixels.Class Support-------------The input image I can be of class uint8, uint16, or double. LEVELis a double scalar.Example-------I = imread('blood1.tif');level = graythresh(I);BW = im2bw(I,level);imshow(BW)See also IM2BW.下面是T取不同值时的所得的结果:T=60时:原图像原图像的灰度直方图T=60时分割的结果Otsu方法分割的结果T=120时:原图像原图像的灰度直方图T=120时分割的结果Otsu方法分割的结果T=200时:原图像原图像的灰度直方图T=120时分割的结果Otsu方法分割的结果对以上实验结果分析如下:由matalab命令窗口显示的内容可知,不同的阈值分割的结果并不一样。

图像分割区域生长法

江苏科技大学数字图像处理图像分割——区域生长法专题1 图像分割简介图像分割( image segmentation) 就是把图像分成各具特征的区域并提取出感兴趣目标的技术和过程。

这里特征可以是象素的灰度、颜色、纹理等, 预先定义的目标可以对应单个区域也可以对应多个区域。

图像分割是图像处理到图像分析的关键步骤, 在图像工程中占据重要的位置。

一方面, 它是目标表达的基础, 对特征测量有重要的影响。

另一方面, 因为图像分割及其基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式, 使得更高层的图像分析和理解成为可能。

图像分割是一种重要的图像处理技术, 它不仅得到人们的广泛重视和研究, 在实际中也得到大量的应用。

图像分割包括目标轮廓、阈值化、图像区分或求差、目标检测、目标识别、目标跟踪等技术。

从大的方面来说,图像分割方法可大致分为基于区域的方法、基于边缘的方法、区域与边缘相结合的方法,以及在此基础上的采用多分辨率图像处理理论的多尺度分割方法。

其中基于区域的方法采用某种准则,直接将图像划分为多个区域。

而基于边缘的方法则通过检测包含不同区域的边缘,获得关于各区域的边界轮廓描述,达到图像分割的目的,而区域与边缘相结合的方法通过区域分割与边缘检测的相互作用,得到分割结果。

图像分割中基于区域的方法主要有直方图门限法、区域生长法、基于图像的随机场模型法、松弛标记区域分割法等。

本文主要讨论基于区域分割的区域生长法。

区域生长是一种古老的图像分割方法,最早的区域生长图像分割方法是由Levine等人提出的。

该方法一般有两种方式,一种是先给定图像中要分割的目标物体内的一个小块或者说种子区域,再在种子区域基础上不断将其周围的像素点以一定的规则加入其中,达到最终将代表该物体的所有像素点结合成一个区域的目的;另一种是先将图像分割成很多的一致性较强,如区域内像素灰度值相同的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的,典型的区域生长法如T. C. Pong等人提出的基于小面(facet)模型的区域生长法,区域生长法固有的缺点是往往会造成过度分割,即将图像分割成过多的区域。

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

实验二、图像分割
一、实验目的
1、使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响;
2、使用MatLab 软件进行图像的分割;
3、能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能;
4、能够掌握分割条件(阈值等)的选择;
5、完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。

二、实验原理
1、边缘检测
(1)使用Roberts 算子的图像分割实验,调入并显示一幅图像*.gif或*.tif;使用Roberts 算子对图像进行边缘检测处理;Roberts 算子为一对模板,相应的矩阵为:
rh = [0 1;-1 0]; rv = [1 0;0 -1];
这里的rh 为水平Roberts 算子,rv为垂直Roberts 算子。

可以显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”方式计算梯度的模,显示检测结果;对于检测结果进行二值化处理,并显示处理结果。

(2)使用Prewitt 算子的图像分割实验
使用Prewitt 算子进行内容(1)中的全部步骤。

(3)使用Sobel 算子的图像分割实验
使用Sobel 算子进行内容(1)中的全部步骤。

(4)使用Canny算子进行图像分割实验。

(5) 使用拉普拉斯算子进行图像分割实验。

2、灰度阀值分割
(1)单阈值分割图像
先将一幅彩色图像转换为灰度图像,显示其直方图,参考直方图中灰度的分布,尝试确定阈值;应反复调节阈值的大小,直至二值化的效果最为满意为止。

给图像加上零均值的高斯噪声(imnoise)重复上述过程,注意阈值的选择。

(2)多阈值分割图像
观察下列图像,对图1进行多阈值分割,使其分割结果如图2所示。

注意阈值的选择。

图1 图2
三、实验步骤
1、打开计算机,启动MATLAB程序;
2、调入数字图像,并进行图像分割处理;
3、记录和整理实验报告。

四、实验仪器
1、计算机;
2、MATLAB等程序;
五、实验报告内容
1、叙述实验过程;
2、提交实验的原始图像和结果图像。

六、思考题
1 、评价Roberts 算子、Prewitt 算子、Sobel 算子对于噪声条件下边界检测的性能。

2、实验中所使用的四种算子所得到的边界有什么异同?
I=imread('blood1.BMP');
imshow(I);
BW1=edge(I,'roberts'); BW2=edge(I,'prewitt'); BW3=edge(I,'sobel'); BW4=edge(I,'log'); BW5=edge(I,'canny'); figure,imshow(BW1,[]); figure,imshow(BW2,[]); figure,imshow(BW3,[]); figure,imshow(BW4,[]); figure,imshow(BW5,[]);
I=imread('rice.bmp');
subplot(131);imshow(I); subplot(132);imhist(I);
T=110;
S=size(I);
[maxI,maxP]=max(I(:,:)) [minI,minP]=min(I(:,:))
for i=1:S(1)
for j=1:S(2)
if I(i,j)>=T I(i,j)=255;
else I(i,j)=0;
end
end
end
subplot(133);imshow(I);
clc;
I=imread('rice.bmp');
I=im2double(I);
figure,imshow(I),title('原图');
se=strel('disk',10);
ft=imtophat(I,se);
Th=graythresh(ft);
Th
G=im2bw(ft,Th);
figure,imshow(G),title('局部阈值');
A=imread('D:\blood.bmp');
a=A;
subplot(141);
imshow(a);
subplot(142);
imhist(a);
T=110;
s=size(a);
for i=1:s(1);
for j=1:s(2);
if a(i,j)>=T
a(i,j)=255;
else a(i,j)=0;
end
end
end
subplot(143);
imshow(a);
b=imnoise(A,'gaussian',0,0.002);
T1=100;
for i=1:s1(1);
for j=1:s1(2);
if b(i,j)>=T1
b(i,j)=255;
else b(i,j)=0;
end
end
end
subplot(144);
imshow(b);。

相关文档
最新文档