实验一图像增强和图像分割实验

实验一图像增强和图像分割实验
实验一图像增强和图像分割实验

实验一 图像增强和图像分割实验

(1)分别用图中给出的直线和曲线作为增强函数进行增强,比较它们的效果并讨论其特点。

线性变换 对指数变换

图片1 图片2

实验步骤:

1. 在MATLAB 中编写灰度图像的线性变换点运算程序

图片1处理程序

I=imread('图片1.png'); %读入原图像

I=im2double(I);

%转换数据类型为double [M,N]=size(I);

figure(1);

imshow(I);%显示原图像 title('原图像'); figure(2); I=rgb2gray(I);

E2(s)

E3(s)

E1(s)

L-1 L-1E5(s)

E4(s)

L-1

L-1

%转化为灰度图像

[H,x]=imhist(I,64); stem(x,(H/M/N),'.'); title('原图像');

%tan=30`

a=sqrt(3)/3;b=0;

y=a.*I+b;

figure(3);

imshow(y);

title('tan=30'); figure(4);

[H,x]=imhist(y,64); stem(x,(H/M/N),'.'); title('tan=30');

%tan=45`

a=1;b=0;

y=a.*I+b; figure(5);

imshow(y);

title('tan=45'); figure(6);

[H,x]=imhist(y,64); stem(x,(H/M/N),'.'); title('tan=45');

%tan=60`

a=sqrt(3);b=0;

y=a.*I+b;

figure(7);

imshow(y);

title('tan=60'); figure(8);

[H,x]=imhist(y,64); stem(x,(H/M/N),'.'); title('tan=60');

实验结果如下图所示:

原图像

图片1的原图像

tan=30

图片1的30度线性变换图像

tan=45

图片1的45度线性变换图像

tan=60

图片1的60度线性变换图像

tan=30

tan=60

45度变换后的直方图 60度变换后直方图图片2处理程序参考图片1处理程序。图片2实验结果如图所示:

原图像

图片2原图像

tan=30

30度变换后图像

tan=45

45度变换后图像

tan=60

60度变换后图像

2. 实验结果分析

由实验结果可以看出,当按照30度线性变换后图像变暗,按照45度变换后图像没有任何改变,按照60度变换后图像变亮,由变换后的直方图可以确认像素点的变化。由以上分析可以得出,当线性变换函数的斜率大于1时,图像的对比度将增大;当线性变换的斜率小于时,图像的对比度将减小;当线性变换函数的斜率等于1时,图像的对比度不变,只是像素点整体的移动。虽然线性变换可以改变对比度,但是对图像的细节部分增强有限。

1. 在MATLAB 中编写灰度图像的对指数点运算程序 图片1对数处理程序:

I=imread('图片1.png'); %读入原图像

I=im2double(I); %转换数据类型为double I=rgb2gray(I); figure(1);

imshow(I); %显示原图像

title('原图像'); figure(3);

[H,x]=imhist(I,64);

stem(x,(H/M/N),'.'); title('原图像'); figure(2); y=log(I+1); imshow(I);

title('对数变换'); figure(4);

[H,x]=imhist(y,64); stem(x,(H/M/N),'.'); title('对数变换');

实验结果如下图所示:

原图像

图片1直方图 图片1对数变换直方图

对数变换

对数变换后图像

图片1指数处理程序:

I=imread('图片1.png'); %读入原图像

I=im2double(I); %转换数据类型为double I=rgb2gray(I); [M,N]=size(I); figure(1);

imshow(I); %显示原图像 title('原图像');

figure(3);

[H,x]=imhist(I,64); stem(x,(H/M/N),'.'); title('原图像'); figure(2);

imshow(imadjust(I,[],[],3)); figure(4);

[H,x]=imhist(imadjust(I,[],[],4),64); stem(x,(H/M/N),'.'); title('指数变换');

实验结果如下图所示:

图片1直方图 指数变换后直方图

图片1指数变换后图像

图片2对指数处理程序参考图片1处理程序。对指数处理结果如图所示:

指数变换

图片2指数变换后图像

图片2直方图 指数变换后直方图

对数变换后直方图

对数变换

图片2对数变换后图像

2.实验结果分析

A、对数变换

采用对数变换,当函数自变量为低值时,曲线斜率很高;自变量为高值时,曲线斜率变小。由变换后图像和直方图可以得出,对数变换是增强图像中较暗的细节,从而可用来扩展被压缩的高值图像中较暗的像素。

B、指数变换

对数变换采用的是伽玛变换(γ>1),同理图像的高灰度区域对比度得到增加。因为伽玛变换变换不是线性变换,不仅可以改变图像的对比度,还能够增强细节,从而带来整体图像效果的增强和改善。

(2)分别用Roberts算子、Sobel算子、LoG算子和Canny算子进行边缘检测,比较它们的效果并讨论其特点;

图片3 图片4

实验步骤:

1.在MATLAB中编写检测程序

I=imread('图片3.png');

bw1=edge(I,'roberts');

bw2=edge(I,'sobel');

bw3=edge(I,'log');

bw4=edge(I,'canny');

figure(1);imshow(I);title('原图像');

figure(2);imshow(bw1);title('roberts');

figure(3);imshow(bw2);title('sobel');

figure(4);imshow(bw3);title('log');

figure(5);imshow(bw4);title('canny');

实验结果如图所示:

roberts

图片3经过roberts算子检测的图像

sobel

图片3经过sobel算子检测的图像

log

图片3经过LoG算子检测的图像

canny

图片3经过canny算子检测的图像

图片4处理程序参考图片3处理程序。实验结果如下图所示:

roberts sobel

roberts处理后图像 sobel处理后图像

log

canny

LoG处理后图像 canny处理后图像

2.实验结果分析

由实验结果可以看出:

Roberts利用局部差分算子寻找边缘,边缘定位精度较高,但是容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声的能力,所以对含噪声少的图像的处理效果较好;

Sobel算子考虑了邻域信息,相当于对图像先做加权平滑处理,然后再做微分运算,虽然能够对噪声有抑制效果,但不能完全排除检测结果中出现的虚假边缘。对

边缘定位准确,但检测出的边缘容易出现多像素宽度;

LoG算子即高斯-拉普拉斯算子,克服了拉普拉斯抗噪声比较差的缺点,但在抑制噪声的同时也可能将原有的比较尖锐的边缘也平滑掉,造成这些尖锐的边缘无法被检测到,但是相对于Roberts算子和Sobel算子处理结果稍好;

Canny算子:在图像边缘检测中,抑制噪声和边缘精确定位是无法同时瞒足的,Canny算子在力图在抗干扰和精确定位之间寻求最佳的折中方案。由图像处理结果可以看出,效果较前三者边缘更细腻、清楚。

从边缘定位的精度看:Roberts算子和LoG算子定位精度更高。

从对不同方向边缘的敏感性而言:Sobel算子检测斜向阶跃边缘效果较好;Roberts算子检测水平和垂直边缘效果较好;LoG算子不具备边缘方向检测能力;Soberl算子可以提供最精确的边缘方向估计。

从去噪能力看:Roberts算子和LoG算子虽然定位精度较高,但受噪声影响大。

从总体效果来衡量,Canny算子给出了一种边缘定位精确性和抗噪声干扰性的较好折中。

(3)采用不同阈值化方法(固定阈值、迭代阈值、Otsu阈值等)对图像进行分割,比较它们的效果并讨论其特点;

图片5 图片6

实验步骤:

1.固定阈值:

I=imread('图片5.png');

figure(1);imshow(I);title('原图像');

figure(2);imhist(I);title('直方图');

i=1;j=1;

for i=1:1:256

for j=1:1:256

if (I(i,j)<=129)

I(i,j)=0;

else I(i,j)=255;

end

end

end

figure(3);imshow(I);title('129阈值');

100

200

300

400

500

600

700

800

900

1000

直方图

050100150200250

129阈值

图片5直方图取129阈值分割

图片6处理过程参考图片5。实验结果如图所示:

直方图

050100150200250

83

图片6直方图取83阈值分割

2.迭代阈值:

I=imread('图片5.png');

ZMAX=max(max(I)); %取出最大灰度值

ZMIN=min(min(I)); %取出最小灰度值

TK=(ZMAX+ZMIN)/2;

bcal=1;

ISIZE=size(I); %读出图像大小

while(bcal)

iForeground=0; %定义前景和背景数

iBackground=0;

ForegroundSum=0;

%定义前景和背景灰度总和

BackgroundSum=0;

for i=1:ISIZE(1)

for j=1:ISIZE(2)

tmp=I(i,j);

if(tmp>=TK)

iForeground=iForeground+1;

ForegroundSum=ForegroundSum+double(tmp);

%前景灰度值

else

iBackground=iBackground+1;

BackgroundSum=BackgroundSum+double(tmp);

end

end

end

ZO=ForegroundSum/iForeground;

%计算前景和背景的平均值

ZB=BackgroundSum/iBackground;

TKTmp=uint8(ZO+ZB)/2;

if(TKTmp==TK )

bcal=0;

else

TK=TKTmp;

end

%当阈值不再变化的时候,说明迭代结束

end

disp(strcat('迭代后的阀值:

',num2str(double(TK))));

%显示最终阈值

newI=im2bw(I,double(TK)/255);

figure(1);imshow(I);title('原始图像');

figure(2);imshow(newI);title('迭代法分割') 实验结果:

迭代后的阀值:128

迭代法分割

图片5迭代分割图片6处理过程同上,实验结果如图所示:迭代后的阀值:104

迭代法分割

图片6迭代分割

3. Otsu 阈值:

I = imread('图片5.png'); level = graythresh(I); BW = im2bw(I,level);

figure(1);imshow(I);title('原图像'); figure(2); imshow(BW);title('otsu');

实验结果:

Level=0.5137

otsu

Otsu 阈值分割

图片6处理过程同上,实验结果如下: Level=0.4039;

otsu

Otsu 阈值分割

实验六-图像分割

信息工程学院实验报告 课程名称:数字图像处理 实验项目名称:实验六图像分割实验时间:2016.12.16 班级:姓名:学号: 一、实验目的 1. 使用MatLab 软件进行图像的分割。使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。 2. 要求学生能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能。能够掌握分割条件(阈值等)的选择。完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。 二、实验内容与步骤 1.边缘检测 (1)使用Roberts 算子的图像分割实验 调入并显示图像room.tif图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板: (a)450方向模板(b)1350方向模板 图 1 matlab 2010的Roberts算子模板 相应的矩阵为:rh = [0 1;-1 0]; rv = [1 0;0 -1];这里的rh 为45度Roberts 算子,rv 为135度Roberts 算子。分别显示处理后的45度方向和135方向的边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果。 提示:先做检测结果的直方图,参考直方图中灰度的分布尝试确定阈值;应反复调节阈值的大小,直至二值化的效果最为满意为止。 (2)使用Prewitt 算子的图像分割实验

(a)水平模型(b)垂直模板 图2. Prewitt算子模板 使用Prewitt 算子进行内容(1)中的全部步骤。 (3)使用Sobel 算子的图像分割实验 使用Sobel (a)水平模型(b)垂直模板 图3. Sobel算子模板 (4)使用LoG (拉普拉斯-高斯)算子的图像分割实验 使用LoG (拉普拉斯-高斯)算子进行内容(1)中的全部步骤。提示1:处理后可以直接显示处理结果,无须另外计算梯度的模。提示2:注意调节噪声的强度以及LoG (拉普拉斯-高斯)算子的参数,观察处理结果。 (5) 打印全部结果并进行讨论。 下面是使用sobel算子对图像进行分割的MATLAB程序 f=imread('room.tif'); [gv,t1]=edge(f,'sobel','vertical');%使用edge函数对图像f提取垂直边缘 imshow(gv) [gb,t2]=edge(f,'sobel','horizontal');%使用edge函数对图像f提取水平边缘 figure,imshow(gb) w45=[-2 -1 0;-1 0 1;0 1 2];%指定模版使用imfilter计算45度方向的边缘 g45=imfilter(double(f),w45,'replicate'); T=0.3*max(abs(g45(:))); %设定阈值 g45=g45>=T; %进行阈值处理 figure,imshow(g45); 在函数中使用'prewitt'和'roberts'的过程,类似于使用sobel边缘检测器的过程。

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

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

实验一图像增强实验 实验目的:1.掌握图像增强的算法 2.学习利用MATLAB进行图像的增强 实验内容:1.图像的点操作、邻域操作算法 2.图像的直方图处理算法 实验步骤: 1.读入图像,用MATLAB函数实现图像读入 (1)启动MATLAB (2)在命令行窗口直接输入MATLAB命令,按“回车”键后执行(3)读入命令和显示命令分别为 imread 和 imshow (4)如A=imread('D:\上官军\medical image\woman.jpg') Imshow (A) 结果显示

2.实现图像点操作运算(gamma校正和对数校正)(1)根据图像线形变换三种形式,图像反转 S=L-1-r 、对数变换S=c*log(1+r) 、幂次变换 S=c*r .^γ编写图像点操作函数 (2)建立新的M文件,点操作函数代码如下: function s=dian(r,leixing,chengshu,gamma1) % r为处理图像,leixing为操作类型 s1=imread(r); s2=im2double(s1); %将图像转为double数据型 switch leixing case 'fanzhuan' s=1-s2; case 'duishu' s=chengshu*log(1+s2); case 'gamma' s=chengshu*s2.^gamma1; otherwise error('错误') end subplot(1,2,1), imshow(s1); subplot(1,2,2),imshow(s);

(3)实际操作,如反转: Y=dian('D:\上官军\medical image\woman.jpg','fanzhuan',1,1); 3.图像邻域处理 (1)图像邻域处理是通过设计相应的滤波器来处理相邻图像像素,主要为均值滤波器、中指滤波器、高斯滤波器等 (2)建立新的M文件,均值滤波函数代码如下: function d=avefilt(x,n) a(1:n,1:n)=1; %a即n×n模板,元素全是1 p=size(x);

图像处理实验 图像增强和图像分割 一、实验目的: 掌握用空间滤波进行图像增强的基本方法,掌握图像分割的基本方法。 二、 实验要求: 1、测试图像1中同时含有均值为零的均匀分布噪声和椒盐噪声。用大小为5×5的算术均值滤波器和中值滤波器对图像进行处理,在不同窗口中显示原图像及各处理结果图像,并分析哪一种滤波器去噪效果好? 2、对测试图像2进行图像分割,求出分割测试图像2的最佳阈值。分别显示原图、原图的直方图(标出阈值)、和分割后的二值图。 实验内容: 1. 实验原理 1) 图像增强:流程图: 图像增强可以通过滤波的方式来完成,即消除一部分的噪声。滤波又可以分为均值滤波和中值滤波。 1. 中值滤波原理:中值滤波就是选用一个含有奇数个像素的滑动窗口,将该窗口在图像上扫描,把其中所含像素点按灰度级的升(或降)序排列,取位于中间的灰度值来代替窗口中心点的灰度值。

对于一维序列{N f }: 21,},...,,...,{-=∈=+-m u N i f f f M e d y u i i u i i 对于二维序列{ij F }:为滤波窗口W y ij F Med W ij }{= 2. 均值滤波原理:对于含噪声的原始图像g(s,t)的每一个像素点去一个领 域N ,用N 中所包含的相速的灰度平均值,作为领域平均处理后的图像f(x,y)的像素值,即: ∑∈=xy S t s t s g mn y x f ),(),(1),(? 2) 图像分割: 图像分割:依据图像的灰度、颜色等特征,将一幅图像分为若干个互不重叠的、具有某种同质特征的区域。

本实验中我们是根据灰度值,将灰度值大于阈值T的像素统一置为255,小于的则置为0。如何求出最合适的分割阈值,则需要用到迭代算法。 迭代法算法步骤: (1) 初始化阈值T (一般为原图像所有像素平均值)。 (2) 用T分割图像成两个集合:G1 和G2,其中G1包含所有灰度值小于T的像素,G2包含所有灰度值大于T的像素。 (3) 计算G1中像素的平均值m1及G2中像素的平均值m2。 (4) 计算新的阈值:T =(m1+m2)/2 。 (5)如果新阈值跟原阈值之间的差值小于一个预先设定的范围,停止循环,否则继续(2)-(4)步。 2.程序代码与分析: 1)图像增强: clear all;clc; %读入图像 I1=imread('Fig5.12(b).jpg'); %均值滤波模板 h1=ones(5,'uint8'); %获取分辨率 [a,b]=size(I1); %创建变量 I2=zeros(a+4,b+4,'uint8'); I3=zeros(a+4,b+4,'uint8'); %复制原始图像 for n=3:a+2 for m=3:b+2 I2(n,m)=I1(n-2,m-2); I3(n,m)=I1(n-2,m-2); end end

关于图像分割算法的研究 黄斌 (福州大学物理与信息工程学院 福州 350001) 摘要:图像分割是图像处理中的一个重要问题,也是一个经典难题。因此对于图像分割的研究在过去的四十多年里一直受到人们广泛的重视,也提山了数以千计的不同算法。虽然这些算法大都在不同程度上取得了一定的成功,但是图像分割问题还远远没有解决。本文从图像分割的定义、应用等研究背景入手,深入介绍了目前各种经典的图像分割算法,并在此基础比较了各种算法的优缺点,总结了当前图像分割技术中所面临的挑战,最后展望了其未来值得努力的研究方向。 关键词:图像分割 阀值分割 边缘分割 区域分割 一、 引言 图像分割是图像从处理到分析的转变关键,也是一种基本的计算机视觉技术。通过图像的分割、目标的分离、特征的提取和参数的测量将原始图像转化为更抽象更紧凑的形式,使得更高层的分析和理解成为可能,因此它被称为连接低级视觉和高级视觉的桥梁和纽带。所谓图像分割就是要将图像表示为物理上有意义的连通区域的集合,也就是根据目标与背景的先验知识,对图像中的目标、背景进行标记、定位,然后将目标从背景或其它伪目标中分离出来[1]。 图像分割可以形式化定义如下[2]:令有序集合表示图像区域(像素点集),H 表示为具有相同性质的谓词,图像分割是把I 分割成为n 个区域记为Ri ,i=1,2,…,n ,满足: (1) 1,,,,n i i j i R I R R i j i j ===??≠ (2) (),1,2,,i i i n H R True ?== (3) () ,,,i j i j i j H R R False ?≠= 条件(1)表明分割区域要覆盖整个图像且各区域互不重叠,条件(2)表明每个区域都具有相同性质,条件(3)表明相邻的两个区域性质相异不能合并成一个区域。 自上世纪70年代起,图像分割一直受到人们的高度重视,其应用领域非常广泛,几乎出现在有关图像处理的所有领域,并涉及各种类型的图像。主要表现在: 1)医学影像分析:通过图像分割将医学图像中的不同组织分成不同的区域,以便更好的

实验二图像增强处理实习报告 1.实验目的和内容 1.1.实验目的 掌握图像合成和显示增强的基本方法,理解存储的图像数据与显示的图像数据之间的1.2.实验要求 熟练根据图像中的地物特征进行图像合成显示、拉伸、图像均衡化等显示增强操作。 理解直方图的含义,能熟练的利用直方图进行多波段的图像显示拉伸增强处理。 1.3.软件和数据 ENVI 软件。 TM 图像数据。上次实验合成后的图像数据文件AA。 1.4.实验内容 图像的彩色合成显示 图像的基本拉伸方法 图像均衡化方法 图像规定化 2.实验过程 通过合成和拉伸增强显示图像中的信息。 2.1.图像合成 图像合成方法:伪彩色合成、彩色合成两种方式。其中彩色合成包括:真彩色合成、假彩色合成、模拟真彩色合成。 操作: 使用(4,3,2)进行RGB 合成显示图像。图像窗口为#1。

移动图像窗口的红色选框到玄武湖,将光标十字放在红框内,双击,显示光标位置窗口。该窗口中出现了Scrn 和Data,二者后面的RGB 的值是不同的。

2.1.1伪彩色合成 在新的窗口显示第4 波段图像,窗口为#2。

操作: 菜单:窗口菜单Tools-Color Mapping-Density slice…,选择Band 4,确定。在“Density Slice”窗口中,点击“应用”按钮,窗口#2 的图像变成了彩色。

设置默认的分级数为3 个:在“Density Slice”窗口,点击Options-Set number of default range,输入3,确定。点击Options-Apply default range,点击Apply 按钮。查看窗口#2 内的变化。

中北大学 课程设计说明书 学生姓名:梁一才学号:10050644X30 学院:信息商务学院 专业:电子信息工程 题目:信息处理综合实践: 图像分割算法研究与实现 指导教师:陈平职称: 副教授 2013 年 12 月 15 日

中北大学 课程设计任务书 13/14 学年第一学期 学院:信息商务学院 专业:电子信息工程 学生姓名:焦晶晶学号:10050644X07 学生姓名:郑晓峰学号:10050644X22 学生姓名:梁一才学号:10050644X30 课程设计题目:信息处理综合实践: 图像分割算法研究与实现 起迄日期:2013年12月16日~2013年12月27日课程设计地点:电子信息科学与技术专业实验室指导教师:陈平 系主任:王浩全 下达任务书日期: 2013 年12月15 日

课程设计任务书 1.设计目的: 1、通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力; 2、掌握Matlab使用方法,能熟练运用该软件设计并完成相应的信息处理; 3、通过图像处理实践的课程设计,掌握设计图像处理软件系统的思维方法和基本开发过程。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等): (1)编程实现分水岭算法的图像分割; (2)编程实现区域分裂合并法; (3)对比分析两种分割算法的分割效果; (4)要求每位学生进行查阅相关资料,并写出自己的报告。注意每个学生的报告要有所侧重,写出自己所做的内容。 3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕: 每个同学独立完成自己的任务,每人写一份设计报告,在课程设计论文中写明自己设计的部分,给出设计结果。

实验七图像分割 一、实验目的 利用光谱特征进行遥感图像的分割和分割后处理。 二、实验要求 1. 能够根据图像的特征,综合使用不同的方法分割出地物对象。 2. 熟练掌握图像直方图的应用。 3. 掌握彩色图像分割的基本方法 4. 掌握利用波段组合进行图像分割的工作流程 5. 熟悉数学形态学基本方法的应用。 三、实验准备 ●软件准备:ENVI软件 ●数据:兰花.jpg 文字测原始图像.bmp IKNOSm14 nj Hroad ●基本知识: ?图像分割的原则:(1)依据像素灰度值的不连续性进行分割。假定不同区域像素的灰度值具有不连续性,因而可以对其进行分割。(2)依据同一区域内部 像素的灰度值具有相似性进行分割。这种方法一般从一个点(种子)出发,将 其邻域中满足相似性测量准则的像素进行合并从而达到分割的目的。依据像素 的不连续性进行分割的方法只要是区域增长法。 ?图像分割的工作流程:(1)确定待分割的对象;(2)选择对分割对象敏感的波段;(3)选择分割方法进行分割;(4)将分割后的结果图像转为矢量图。 ?图像分割:(1)图像分割是指把图像分成各具特性的区域并提取出感兴趣的目标的技术和过程。从数学角度来看,图像分割是将数字图像划分成互不相交的 区域的过程。图像分割的过程也是一个标记的过程,即将属于同一个区域的像 素赋予相同的编号的过程。(2)目的:将一幅图像分为几个区域,这几个区域 之间具有不同的属性,同一区域中各像素具有某些相同的性质。 ?图像分割的方法:(1)灰度阀值法,它在目标与背景之间存在强对比时特别有效(直方图方法);(2)数学形态学方法,腐蚀、膨胀、开运算和闭运算; ?波段运算:ENVI Band Math是一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。由于每个用户都有独特的需求,利用 此工具用户自己定义处理算法,应用到在ENVI打开的波段或整个图像中,用 户可以根据需要自定义简单或复杂的处理程序。例如:可以对图像进行简单加、 减、乘、除运算,或使用IDL编写更复杂的处理运算功能。 ?波段运算实质是对每个像素点对应的像素值进行数学运算。

实验报告 课程名称医学图像处理 实验名称图像分割 专业班级 姓名 学号 实验日期 实验地点 2015—2016学年度第 2 学期

050100150200250 图1 原图 3 阈值分割后的二值图像分析:手动阈值分割的阈值是取直方图中双峰的谷底的灰度值作为阈值,若有多个双峰谷底,则取第一个作为阈值。本题的阈值取

%例2 迭代阈值分割 f=imread('cameraman.tif'); %读入图像 subplot(1,2,1);imshow(f); %创建一个一行二列的窗口,在第一个窗口显示图像title('原始图像'); %标注标题 f=double(f); %转换位双精度 T=(min(f(:))+max(f(:)))/2; %设定初始阈值 done=false; %定义开关变量,用于控制循环次数 i=0; %迭代,初始值i=0 while~done %while ~done 是循环条件,~ 是“非”的意思,此 处done = 0; 说明是无限循环,循环体里面应该还 有循环退出条件,否则就循环到死了; r1=find(f<=T); %按前次结果对t进行二次分 r2=find(f>T); %按前次结果重新对t进行二次分 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; %把小于初始阈值的变成黑的 f(r2)=1; %把大于初始阈值的变成白的 subplot(1,2,2); %创建一个一行二列的窗口,在第二个窗口显示图像imshow(f); %显示图像 title('迭代阈值二值化图像'); %标注标题 图4原始图像图5迭代阈值二值化图像 分析:本题是迭代阈值二值化分割,步骤是:1.选定初始阈值,即原图大小取平均;2.用初阈值进行二值分割;3.目标灰度值平均背景都取平均;4.迭代生成阈值,直到两次阈值的灰 度变化不超过1,则稳定;5.输出迭代结果。

实验报告 班级:08108班 姓名:王胤鑫 09号学号:08210224

一、实验内容 给出噪声图像Girl_noise.jpg,请选择合适的图像增强算法,给出你认为最优的增强后的图像。 可以使用Matlab - Image Processing Toolbox 中的处理函数。 原始图像如下: 二、算法分析 对于给出的图像中有灰色的噪声,因此首先处理灰色的线条,根据其方差的大小来判断其所在行。对于两条白色的噪声,根据与前后两行的对比来判断其所在位置。程序中设定灰色线条处理的均方差门限为0.1,白线处理的标准为与前后两行的差值超过0.2(转换为double型)。滤除噪声之后再通过中值滤波、拉普拉斯图像增强等方式对图像进行处理。 三、matlab 源程序 clear all;clc; f=imread('girl_noise.jpg'); figure,imshow(f),title('原始图像'); [m,n]=size(f); f0= im2double(f); % 整型转换为 double 类 f1=f0; std_i=zeros(1,m-2); %灰线处理 for i=2:m-1 %灰线处理 std_i(i-1)=std(f0(i,:)); if(std_i(i-1)<0.1) for j=1:m f0(i,j)=(f0(i-1,j)+f0(i+1,j))/2; end

end end figure,imshow(f0),title('滤除灰线后的图像'); fz=f0-f1; [r,c]=find(fz~=0);%寻找灰线噪声的位置 f2=f0; change=0; count=0; for i=3:m-2 %白线处理 for j=1:m if(abs(f0(i,j)-f0(i-1,j))>0.2&&abs(f0(i,j)-f0(i+1,j))>0.2) count=count+1; end if(count>n*0.8) count=0; change=1; break; end end if(change==1) for k=1:m f0(i,k)=(f0(i-1,k)+f0(i+1,k))/2; end change=0; count=0; end end figure,imshow(f0),title('滤除白线后的图像'); fz1=f2-f0; [r1,c1]=find(fz1~=0); %寻找白线噪声的位置 fn = medfilt2(f0); %反射对称填充 figure, imshow(fn),title('中值滤波后的图像'); f0 = im2double(fn); % 整型转换为 double 类 g =2*f0- imfilter(f0,w4, 'replicate'); % 增强后的图像 figure, imshow(g),title('高提升滤波图像(A=2)');

实验报告 实验名称实验四图像分割 课程名称数字图像处理A 姓名成绩 班级学号 日期地点 1.实验目的 (1)了解并掌握图像分割的基本原理; (2)编写程序使用Hough变换处理图像,进行线检测;

(3)编写程序使用阈值处理方法进行图像分割,根据实验结果分析效果; (4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。 2.实验环境(软件条件) Windws2000/XP MATLAB 7.0 3.实验方法 对256级灰度的数字图像camera.bmp(如图4.1所示)和car.bmp(如图4.2所示)进行如下处理: (1)对图像camera.bmp进行Hough变换进行线检测,显示处理前、后图像: 思考如何利用Hough变换进行圆检测; (2)对图像car.bmp分别利用不同的阈值处理方法进行图像中汽车及车牌的分割,显示处理前、后图像;思考不同的阈值处理算法对分割效果的影响? 4.实验分析 实验原理 Hough变换是最常用的直线提取方法,它的基本思想是:将直线上每一个数据点变换为参数平面中的一条直线或曲线,利用共线的数据点对应的参数曲线相交于参数空间中一点的关系,使直线的提取问题转化为计数问题。Hough变换提取直线的主要优点是受直线中的间隙和噪声影响较小。 思考: Hough变换对圆的检测: Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。 圆的方程为:222 ()() x a y b r -+-=,通过Hough变换,将图像空间(,) x y对应到参数空间(,,) a b r。 第一题结果图 图4.1 实验图像camera.bmp 图4.2 实验图像car.bmp

数字图像处理实验报告 实验二图像变换实验 1.实验目的 学会对图像进行傅立叶等变换,在频谱上对图像进行分析,增进对图像频域上的感性认识,并用图像变换进行压缩。 2.实验内容 对Lena或cameraman图像进行傅立叶、离散余弦、哈达玛变换。在频域,对比他们的变换后系数矩阵的频谱情况,进一步,通过逆变换观察不同变换下的图像重建质量情况。 3. 实验要求 实验采用获取的图像,为灰度图像,该图像每象素由8比特表示。具体要求如下: (1)输入图像采用实验1所获取的图像(Lena、Cameraman); (2)对图像进行傅立叶变换、获得变换后的系数矩阵; (3)将傅立叶变换后系数矩阵的频谱用图像输出,观察频谱; (4)通过设定门限,将系数矩阵中95%的(小值)系数置为0,对图像进行反变换,获得逆变换后图像; (5)观察逆变换后图像质量,并比较原始图像与逆变后的峰值信噪比(PSNR)。 (6)对输入图像进行离散余弦、哈达玛变换,重复步骤1-5; (7)比较三种变换的频谱情况、以及逆变换后图像的质量(PSNR)。 4. 实验结果 1. DFT的源程序及结果 J=imread('10021033.bmp'); P=fft2(J); for i=0:size(P,1)-1 for j=1:size(P,2) G(i*size(P,2)+j)=P(i+1,j); end end Q=sort(G); for i=1:size(Q,2) if (i=size(Q,2)*0.95) t=Q(i); end end G(abs(G)

图像分割常用算法优缺点探析 摘要图像分割是数字图像处理中的重要前期过程,是一项重要的图像分割技术,是图像处理中最基本的技术之一。本文着重介绍了图像分割的常用方法及每种方法中的常用算法,并比较了各自的优缺点,提出了一些改进建议,以期为人们在相关图像数据条件下,根据不同的应用范围选择分割算法时提供依据。 关键词图像分割算法综述 一、引言 图像分割决定了图像分析的最终成败。有效合理的图像分割能够为基于内容的图像检索、对象分析等抽象出十分有用的信息,从而使得更高层的图像理解成为可能。目前图像分割仍然是一个没有得到很好解决的问题,如何提高图像分割的质量得到国内外学者的广泛关注,仍是一个研究热点。 多年来人们对图像分割提出了不同的解释和表达,通俗易懂的定义则表述为:图像分割指的是把一幅图像分割成不同的区域,这些区域在某些图像特征,如边缘、纹理、颜色、亮度等方面是一致的或相似的。 二、几种常用的图像分割算法及其优缺点 (一)大津阈值分割法。 由Otsu于1978年提出大津阈值分割法又称为最大类间方差法。它是一种自动的非参数非监督的门限选取法。该方法的基本思路是选取的t的最佳阈值应当是使得不同类间的分离性最好。它的计算方法是首先计算基于直方图而得到的各分割特征值的发生概率,并以阈值变量t将分割特征值分为两类,然后求出每一类的类内方差及类间方差,选取使得类间方差最大,类内方差最小的t作为最佳阈值。 由于该方法计算简单,在一定条件下不受图像对比度与亮度变化的影响,被认为是阈值自动选取的最优方法。该方法的缺点在于,要求得最佳阈值,需要遍历灰度范围0—(L-1)内的所有像素并计算出方差,当计算量大时效率会很低。同时,在实际图像中,由于图像本身灰度分布以及噪声干扰等因素的影响,仅利用灰度直方

信息工程学院实验报告 课程名称:数字图像处理Array 实验项目名称:实验四图像增强实验时间:2016.11.08 班级::学号: 一、实验目的 1.了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。 2. 掌握图像空域增强算法的基本原理。 3. 掌握图像空域增强的实际应用及MATLAB实现。 4. 掌握频域滤波的概念及方法。 5. 熟练掌握频域空间的各类滤波器。 6.掌握怎样利用傅立叶变换进行频域滤波。 7. 掌握图像频域增强增强的实际应用及MATLAB实现。 二、实验步骤及结果分析 1. 基于幂次变换的图像增强 程序代码: clear all; close all; I{1}=double(imread('fig534b.tif')); I{1}=I{1}/255; figure,subplot(2,4,1);imshow(I{1},[]);hold on I{2}=double(imread('room.tif')); I{2}=I{2}/255; subplot(2,4,5);imshow(I{2},[]);hold on for m=1:2 Index=0; for lemta=[0.5 5] Index=Index+1; F{m}{Index}=I{m}.^lemta; subplot(2,4,(m-1)*4+Index+1),imshow(F{m}{Index},[]) end end 执行结果:

图1 幂次变换增强结果 实验结果分析: 由实验结果可知,当r<1时,黑色区域被扩展,变的清晰;当r>1时,黑色区域被压缩,变的几乎不可见。 2.直方图规定化处理 程序代码: clear all clc close all %0.读图像 I=double(imread('lena.tiff')); subplot(2,4,1); imshow(I,[]); title('原图') N=32; Hist_image=hist(I(:),N); Hist_image=Hist_image/sum(Hist_image); Hist_image_cumulation=cumsum(Hist_image);%累 计直方图 subplot(245); stem(0:N-1,Hist_image); title('原直方图'); %1.设计目标直方图 Index=0:N-1; %正态分布直方图 Hist{1}=exp(-(Index-N/2).^2/N); Hist{1}=Hist{1}/sum(Hist{1}); Hist_cumulation{1}=cumsum(Hist{1}); subplot(242); title('规定化直方图1'); %倒三角形状直方图 Hist{2}=abs(2*N-1-2*Index); Hist{2}=Hist{2}/sum(Hist{2}); Hist_cumulation{2}=cumsum(Hist{2}); subplot(246); stem(0:N-1,Hist{2}); title('规定化直方图2'); %2. 规定化处理 Project{1}=zeros(N); Project{2}=zeros(N); Hist_result{1}=zeros(N); Hist_result{2}=zeros(N); for m=1:2 Image=I; %SML处理(SML,Single Mapping Law单映射规则 for k=1:N Temp=abs(Hist_image_cumulation(k)-Hist_cumulati on{m}); [Temp1,Project{m}(k)]=min(Temp); end %2.2 变换后直方图 for k=1:N

图像分割实验报告 一、实验目的 1. 掌握图像分割的基本思想,了解其分割技术及其计算策略; 2. 学会从图像处理到分析的关键步骤,掌握图像分割过程; 3. 了解图像分割的意义,进一步加深对图像分析和理解; 4. 掌握基本分割方法:迭代分割和OTSU图像分割,并编程实现。 二、实验原理 (一)迭代阈值分割选取的基本思路是:首先根据图像中物体的灰度分布情况,选取一个近似阈值作为初始阈值,一个较好的方法就是将图像的灰度均值作为初始阈值,然后通过分割图像和修改阈值的迭代过程获得认可的最佳阈值。迭代式阈值选取过程可描述如下: 1. 计算初始化阈值g0=(g max+g min) ; 2 2. 根据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)熟悉并学会使用MATLAB中图像增强的相关函数。 (2)掌握图像灰度修正、平滑去噪、锐化加强边缘和轮廓的方法,并编程实现。 二、实验主要仪器设备 (1)台式机或笔记本电脑。 (2)MATLAB软件(含图像处理工具箱)。注意:由于软件版本的缘故,软件的界面可能有所差异,读者可以根据实际安装的软件选择相关的命令。 (3)典型的灰度、彩色图像文件。 三、实验原理 数码相机的曝光量指到达DC感光器件上的光线总量,用曝光值(EV)表示。图像的过度曝光、曝光不足时,用曝光补偿调节曝光量,这种功能可修正自动曝光设置值为上升或下降几级。例如,某些DC的EV调整范围为+3~0~-3。尝试对同一景象进行正确曝光、过度曝光和曝光不足三种情况成像情况。 (1)将一幅图像视为一个二维矩阵,用MATLAB进行图像增强。 (2)利用MATLAB图像处理工具箱中的函数imread(读入),imshow(显示),imnoise (加噪),filter2(滤波)对图像进行去噪处理。 (3)图像灰度修正:灰度变换。对不满意的图像通过线性或非线性灰度映射关系进行变换,其效果可以得到明显提高。通过分析,会发现变换前后图像的直方图 也发生相应的变化。 (4)图像平滑方法:领域平均、中值滤波。分析图像降质的性质,区分平稳性还是非平稳型、加性还是乘性等,采用合适的去噪方法,可以去除或降低噪声对图 像的影响。从频率域看,平均操作在降低噪声的同时衰减了图像的高频分量, 会影响图像细节的重现。中值滤波对某些信号具有不变形,适用于消除图像中 的突发干扰,但如果图像含有丰富的细节,则不宜使用。 (5)图像锐化方法:人眼对目标的边缘和轮廓较为敏感,对图像进行锐化,有助于突出图像的这些特征。从频率域看,锐化提升了图像的高频分量。 四、实验内容 MATLAB图像增强:①图像灰度修正;②图像平滑方法;③图像锐化方法。 五、实验步骤 MATLAB图像增强。 (1)图像灰度修正。测试图像为pout.tif、tire.tif。读入一幅灰度级分布不协调的图像,分析其直方图。根据直方图,设计灰度变换表达式,或调用imadjuct函数。调 整变换表达式的参数,直到显示图像的灰度级分布均衡为止。 (2)不均匀光照的校正。测试图像为pout.tif。采用分块处理函数blkproc和图像相减函数imsubtract校正图6.6存在的不均匀光照现象。 (3)三段线性变换增强。测试图像为eight.tif。选择合适的转折点,编程进行三段线

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

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

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

he = imread('f:\3.jpg'); % 读入图像 imshow(he), title('H&E image'); text(size(he,2),size(he,1)+15,... 'Image courtesy of Alan Partin, Johns Hopkins University', ... 'FontSize',7,'HorizontalAlignment','right'); cform = makecform('srgb2lab'); % 色彩空间转换 lab_he = applycform(he,cform); ab = double(lab_he(:,:,2:3)); % 数据类型转换 nrows = size(ab,1); % 求矩阵尺寸 ncols = size(ab,2); % 求矩阵尺寸 ab = reshape(ab,nrows*ncols,2); % 矩阵形状变换 nColors = 3; % 重复聚类3次,以避免局部最小值 [cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean', ... 'Replicates',3); pixel_labels = reshape(cluster_idx,nrows,ncols); % 矩阵形状改变 imshow(pixel_labels,[]); % 显示图像 title('image labeled by cluster index'); % 设置图像标题 segmented_images = cell(1,3); % 细胞型数组 rgb_label = repmat(pixel_labels,[1 1 3]); % 矩阵平铺 for k = 1:nColors color = he; color(rgb_label ~= k) = 0;

Efficient graph-based image segmentation 2.相关工作 G=(V ,E),每个节点V i v 对应图像中一个像素点,E 是连接相邻节点的边,每个边有对应有一个权重,这个权重与像素点的特性相关。 最后,我们将提出一类基于图的查找最小割的分割方法。这个最小割准则是最小化那些被分开像素之间的相似度。【18】原文中叫Component,实质上是一个MST,单独的一个像素点也可以看成一个区域。 预备知识: 图是由顶点集(vertices )和边集(edges )组成,表示为,顶点,在本文中即为单个的像素点,连接一对顶点的边具有权重,本文中的意义为顶点之间的不相似度,所用的是无向图。 树:特殊的图,图中任意两个顶点,都有路径相连接,但是没有回路。如上图中加粗的边所连接而成的图。如果看成一团乱连的珠子,只保留树中的珠子和连线,那么随便选个珠子,都能把这棵树中所有的珠子都提起来。如果,i 和h 这条边也保留下来,那么h,I,c,f,g 就构成了一个回路。 最小生成树(MST, minimum spanning tree ):特殊的树,给定需要连接的顶点,选择边权之和最小的树。上图即是一棵MST 。 本文中,初始化时每一个像素点都是一个顶点,然后逐渐合并得到一个区域,确切地说是连接这个区域中的像素点的一个MST 。如图,棕色圆圈为顶点,线段为边,合并棕色顶点所生成的MST ,对应的就是一个分割区域。分割后的结果其实就是森林。 边的权值: 对于孤立的两个像素点,所不同的是颜色,自然就用颜色的距离来衡量两点 的相似性,本文中是使用RGB 的距离,即

相关文档
最新文档