搜档网
当前位置:搜档网 › matlab静态图像分割与边缘检测与图像压缩与编码

matlab静态图像分割与边缘检测与图像压缩与编码

matlab静态图像分割与边缘检测与图像压缩与编码
matlab静态图像分割与边缘检测与图像压缩与编码

学号14102500892

光电图像处理实验报告

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

作者肖剑洪专业电子科学与技术学院物理与电子学院指导老师王晓明

完成时间2013.12.2

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

一、实验目的

1.学习常用的图像分割与边缘检测方法,并通过实验使学生体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响;

2.观察图像分割的结果,产生对所讲述理论知识的直观认识,加深对图像分割与边缘检测相关理论知识的理解。

3.掌握常用图象分割及边缘检测方法的算法设计及编程实现;

4.学会使用MATLAB软件中关于图像分割与边缘检测的函数;

二、实验设备

联想图像处理工作站

三、实验内容及要求

1.自己编写M-function实现图像阈值分割算法,要求该程序能对256级灰度图像进行处理,显示处理前、后图像;

2.自己编写M-function实现利用Sobel算子进行图像边缘检测的算法,并对图像进行检测,显示原图像、处理后的图像。

3.调用Matlab自带的图像处理函数,用不同的算子对图像进行分割、边缘检测,比较结果。

4.结合以上实验内容,使用ICETECK-DM642-IDK-M实验系统进行相应的动态视频图像分割及边缘检测,观察结果。

四、实验原理

1.图像分割

图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。图像分割有三种不同的途径:区域法、边界法、边缘法。最常用的是灰度阈值化处理进行的图像分割:

(,)(,)255

(,)f x y T g x y f x y T

?

≥??

域值T 的选取直接影响分割的效果! (1)直方图双峰域值选择 (2)迭代域值选择

迭代思想:选择一个初始估计值,通过某种策略不断改进(调制)新的估计值,直到满足给定的准则。 迭代步骤:

⑴选择一个初值估计值T ,一般为最大灰度值和最小灰度值的中间值; ⑵使用域值T 分割图像,得到两组像素G1(>=T)和G2(

⑸重复步骤2~4,直到新域值的改变量小于预先定义的参数e 。 (3)最大类间方差法(Otsu ) 思想:

⑴将图像中目标和背景看作分属不同类别的像素组成;

⑵判别分析法的目标是确定域值使分属不同类别的像素的类间方差最大。 1.边缘检测

灰度或结构等信息的突变出称为边缘,在空间域借助微分算子通过卷积来完成,而空域的微分在离散数字图像可以采用差分来近似。

基于一阶导数的边缘检测算子有Robert 算子、Sobel 算子、Prewitt 算子等,基于二阶导数的边缘检测算子有Laplace 算子,LOG 算子是一种改进的方式。Sobel 算子为一对模板:

五、实验步骤

1.根据实验内容的要求在MATLAB 软件中编写相应程序;

1)灰度阈值分割实验(使用迭代阈值选择方法)

2)使用Sobel 算子的边缘检测实验

3)调用Matlab已有的图像处理函数,对图像进行分割和边缘检测

a.调用边缘检测函数edge,并与自己编写的函数运行结果进行比较;

b.用其他边缘检测算子和分割方法对图像进行处理,并对结果进行比较。2.调试运行程序,并记录结果。

3.结合以上实验内容,使用ICETECK-DM642-IDK-M实验系统进行相应的动态视频图像增强处理,观察结果。

4.完成实验报告。

六、实验程序清单和实验结果及分析

1.图像分割

clear all, close all;

H= imread('f:/1.jpg');

I=rgb2gray(H);

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);

(2)迭代域值选择

clc;clear all;

H=imread('f:/1.jpg');

I=rgb2gray(H);

I=double(I)/255;

k1=(max(max(I))+min(min(I)))/2;

[rows cols]=size(I);

count1=0;

count2=0;

for i=1:rows

for j=1:cols

if I(i,j)

count1=count1+1;

G1(count1).I=I(i,j);

else

count2=count2+1;

G2(count2).I=I(i,j);

end

end

end

k2=(mean(mean([G1.I]))+mean(mean([G2.I])))/2; while(abs(k2-k1)>(5/255))

k1=k2;

count1=0;

count2=0;

for i=1:rows

for j=1:cols

if I(i,j)

count1=count1+1;

G1(count1).I=I(i,j);

else

count2=count2+1;

G2(count2).I=I(i,j);

end

end

end

k2=(mean(mean([G1.I]))+mean(mean([G2.I])))/2;

end

figure(1);imshow(I);

figure(2);II=im2bw(I,k2);imshow(II);

2.边缘检测

clear all, close all;

H=imread('f:/1.jpg');

I=rgb2gray(H);

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');

八、实验思考题

1.小结一下本实验所用的边缘检测方法。

答:边缘检测的基本算子有:一阶::Roberts Cross算子,Prewitt算子,Sobel 算子,Kirsch算子,罗盘算子;二阶:Marr-Hildreth,在梯度方向的二阶导数过零点,Canny算子,Laplacian算子Canny算子(或者这个算子的变体)是最常用的边缘检测方法。在Canny 创造性的工作中,他研究了设计一个用于边缘检测最优预平滑滤波器中的问题,后来他说明这个滤波器能够很好地被一阶高斯导数核优化。另外Canny 引入了非最大抑制概念,它是说边缘定义为在梯度方向具有最大梯度值的点。在一个离散矩阵中,非最大抑制阶梯能够通过一种方法来实现,首先预测一阶导数方向、然后把它近似到45度的倍数、最后在预测的梯度方向比较梯度幅度。

2.基于微分方法的边缘检测算法的依据是什么?

答:一般来说不同区域的交界处构成边缘,同一区域内像素的灰度差较小,而不同区域像素灰度差较大,因此用微分可以很好地检测满足这种假设的区域边界。

学号14102500892

光电图像处理实验报告

实验四:图像压缩与编码

作者肖剑洪专业电子科学与技术学院物理与电子学院指导老师王晓明

完成时间2013.12.2

实验四图像压缩与编码

一、实验目的

1.了解图像压缩编码原理;

2.掌握常用的图像压缩算法及编程实现;

3.学会使用MATLAB软件中关于图像压缩编码的函数;

二、实验设备

联想图像处理工作站

三、实验内容及要求

1.自己编写M-function实现图像无损压缩算法,要求该程序能对256级灰度图像进行压缩数据,计算压缩算法的性能;

2.自己编写M-function实现图像有损压缩算法,要求该程序能对256级灰度图像进行压缩数据,计算压缩算法的性能;

3.调用Matlab自带的图像处理函数,用不同的算法对图像进行压缩编码,比较结果。

四、实验原理

图像压缩与编码是在满足一定保真度的要求下,对图像数据的进行变换、编码和压缩,去除冗余数据减少表示数字图像时需要的数据量,以便于图像的存储和传输,即以较少的数据量有损或无损地表示原来的像素矩阵的技术。

图像压缩编码可分为两类:一类压缩是可逆的,即从压缩后的数据可以完全恢复原来的图像,信息没有损失,称为无损压缩编码;另一类压缩是不可逆的,即从压缩后的数据无法完全恢复原来的图像,信息有一定损失,称为有损压缩编码。

传统数据压缩方法的分类:无损压缩包括统计编码(Huffman编码,Shannon 编码,游程编码,算术编码等)和轮廓编码;有损压缩包括预测编码(脉冲编码调制PCM,Differential PCM,AdaptiveDPCM等)、变换编码(DFT,DCT,KLT,

WHT,小波变换等)和混合编码。

统计编码是根据信源的概率分布特性,分配具有惟一可译性的可变长码字,降低平均码字长度,以提高信息的传输速度,节省存储空间。其基本原理是在信号概率分布情况已知的基础上,概率大的信号对应的码字短,概率小的信号对应的码字长,这样就降低了平均码字长度。其中Huffman编码具体的编码方法为:①把输入元素按其出现概率的大小顺序排列起来,然后把最末两个具有最小概率的元素之概率加起来;②把该概率之和同其余概率由大到小排队,然后再把两个最小概率加起来,再重新排队;③重复②,直到最后只剩下两个概率为止。

变换编码的基本原理是通过数学变换可以改变信号能量的分布,从而压缩信息量。以傅里叶变换的概念说明合理的变换可以改变信号能量分布的基本原理。在变换编码中有以下二个问题值得注意:图像变换方法的选取;子图像大小的选取。传统的DFT,DCT,KLT和经典小波变换等变换编码在图像变换后会产生浮点数,因而必须对变换后的数据进行量化处理,这样就产生不同程度的失真。而新一代的整数小波变换(第二代小波变换)采用提升方法能够实现整数变换,因而能够实现图像的无损压缩。新的静态图像压缩标准JPEG2000中采用了基于提升方法的整数小波变换。

五、实验步骤

1.选择一组合适的原始图像作为测试图像;

2.根据设计要求选择合适的图像压缩与编码方法;

3.设计压缩与编码算法;

4. 显示原始图像和压缩重构图像;

5. 计算压缩的性能指标:压缩率和保真度;

6.完成实验报告。

六、实验结果及分析

1、利用余弦变换实现图像压缩: DCT先将整体图像分成N×N像素块(一般N=8 ,即64个像素块),再对N×N块像素逐一进行DCT变换。由于大多数图像高频分量较小,相应于图像高频成分的失真不太敏感,可以用更粗的量化,在保证所要求的图质下,舍弃某些次要信息。

实验代码:

a=imread('f:/1.jpg');

I=rgb2gray(a);

imshow(I);

title('原始图像');

disp('原始图像大小:');

whos('I');

I=im2double(I);%图像类型存储转换,将图像矩阵转换成双精度类型? T=dctmtx(8);%离散余弦变换矩阵

B = blkproc(I,[8 8],'P1*x*P2',T,T');

mask=[1 1 1 1 0 0 0 0

1 1 1 0 0 0 0 0

1 1 0 0 0 0 0 0

1 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0];

B2=blkproc(B,[8 8],'P1.*x',mask);

I2=blkproc(B2,[8 8],'P1*x*P2',T',T);

figure,imshow(I2);

title('压缩后的图像');

disp('压缩图像的大小:');

whos('I2');

原始图像大小:

Name Size Bytes Class Attributes

I 287x287 82369 uint8

压缩图像的大小:

Name Size Bytes Class Attributes I2 287x287 658952 double

2、利用小波变换实现图像压缩

clear all

a=imread('f:/1.jpg');

I=rgb2gray(a);

imshow(I);

title('原始图像');

disp('原始图像I的大小:');

whos('I');

I=im2double(I);

[c,s]=wavedec2(I,2,'bior3.7');

ca1=appcoef2(c,s,'bior3.7',1);

ch1=detcoef2('h',c,s,1);

cv1=detcoef2('v',c,s,1);

cd1=detcoef2('d',c,s,1);

ca1=appcoef2(c,s,'bior3.7',1);

ca1=wcodemat(ca1,440,'mat',0);

ca1=0.5*ca1;

figure,image(ca1);

title('第一次压缩后的图像');

disp('第一次压缩图像的大小为:');

whos('ca1');

ca2=appcoef2(c,s,'bior3.7',2);

ca2=wcodemat(ca2,440,'mat',0);

ca2=0.25*ca2;

figure,image(ca2);

title('第二次压缩后的图像');

disp('第二次压缩图像的大小为:');

whos('ca2');

原始图像I的大小:

Name Size Bytes Class Attributes

I 287x287 82369 uint8

第一次压缩图像的大小为:

Name Size Bytes Class Attributes ca1 151x151 182408 double

第二次压缩图像的大小为:

Name Size Bytes Class Attributes

ca2 83x83 55112 double

八、实验思考题

1.DFT与DCT的性能比较;

答:DCT是离散傅里叶变换;DFT是离散余弦变换。

共同点:都将空域的图像数据信息转换到频域中,即分离出图像的低频到高频成分。

区别:1、DCT与DFT转换后的域仅包含频域成分,就叫频域;DWT转换后的域不仅有频域成分,还具有空域成分,因此叫小波域。2、DCT的频域的低频成分在DCT系数图的中间,高频成分在四周,离系数图中心越远,频率越高;DFT与DWT的频域的低频成分在系数图左上方,越往右下方频率越

实验-四-图像分割与边缘检测

实验四图像分割与边缘检测 一.实验目的及要求 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); 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; 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;

图像的阈值分割及边缘检测技术

数字图像处理实验报告 题目:图像的阈值分割及边缘检测技术 班级: 姓名: 学号:

图像的阈值分割及边缘检测技术 一、实验目的 1、了解图像的分割技术,掌握图像的全局阈值分割技术并通过MATLAB实现; 2、了解图像的边缘检测,掌握梯度算子图像边缘检测方法。 二、实验内容 1、基于直方图的全局阈值图像分割方法; 2、Edge命令(roberts,perwitt,sobel,log,canny),实现边缘检测。 三、实验原理 1、全局阈值是最简单的图像分割方法。其中,直方图法的原理如下:想做出图 像的直方图,若其直方图呈双峰且有明显的谷底,则可以讲谷底点所对应的灰度值作为阈值T,然后根据该阈值进行分割,九可以讲目标从图像中分割出来。这种方法是用于目标和背景的灰度差较大且直方图有明显谷底的情况。 2、用于边缘检测的梯度算子主要有Roberts算子、Prewitt算子、Sobel算子。 这三种检测算子中,Roberts算子定位精度较高,但也易丢失部分边缘,抗噪声能力差,适用于低噪声、陡峭边缘的场合。Prewitt算子、Sobel算子首先对图像做平滑处理,因此具有一定的抑制噪声的能力,但不能排除检测结果中的虚假边缘,易出现多像素宽度。

四、实验步骤 1、全局阈值分割: ①读取一张图像; ②生成该图像的直方图; ③根据直方图双峰产生的低谷估计阈值T; ④依次读取图像各个点的像素,若大于阈值,则将像素改为255,若小于 阈值,则将该像素改为0; 实验代码如下: I=imread('cameraman.tif'); %读取一张图像 subplot(221);imshow(I); %显示该图像 subplot(222);imhist(I); %生成该图像的直方图 T=60; %根据直方图估计阈值T为60 [m,n]=size(I); %取图像的大小为【m,n】 for i=1:m %依次读取图像各个点的像素,若大于阈 值,则将像素改为255,若小于阈值, 则将该像素改为0 for j=1:n if I(i,j)>=T I(i,j)=255; else I(i,j)=0; end end

基于DCT的数字图像压缩及Matlab实现

实验三基于DCT的数字图像压缩及Matlab实现兰州大学信息学院08级通信工程一班赵军伟 一、课程设计的目的和要求等内容 实验目的:掌握基于DCT变换的图像压缩的基本原理及其实现步骤;通过使用MATLAB,对同一幅原始图像进行压缩,进一步掌握DCT和图像压缩。 实验要求: 1、学生在实验操作过程中自己动手独立完成,2人为1组。 2、上机过程中由指导老师检查结果后方可做其他内容。 3、完成实验报告:按照实验的每个题目的具体要求完成 二、基本原理或方法 (一)图像压缩基本原理 图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量,在信息论中称为信源编码。图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。压缩技术分为无损压缩和有损压缩两大类,前者在解码时可以精确地恢复原图像,没有任何损失;后者在解码时只能近似原图像,不能无失真地恢复原图像。 假设有一个无记忆的信源,它产生的消息为{ai},1≤i≤N,其出现的概率是已知的,记为P(ai)。则其信息量定义为: 由此可见一个消息出现的可能性越小,其信息量就越多,其出现对信息的贡献量越大,反之亦然。 信源的平均信息量称为“熵”(entropy),可以表示为: 对上式取以2为底的对数时,单位为比特(bits):

根据香农(Shannon)无噪声编码定理,对于熵为H的信号源,对其进行无失真编码所可能达到的最低比特数为,这里为一任意小的正数,因此可能达到的最大压缩比为: 其中B是原始图像的平均比特率。 在图像压缩中,压缩比是一个重要的衡量指标。可以定义压缩比为: (二)图像压缩的基本模型 图像编码包括两个阶段,前一个阶段就是利用预测模型或正交模型对图像信号进行变换;后一个阶段是利用已变换信号的统计特性,对其分配适当的代码来进行编码传输。 编码器与解码器的结构分别如图(a)、(b)。 在发送端,输入的原始图像首先经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。由于该低频分量包含了图像的主要信息,而高频分量与之相比就不那么重要了,所以可以忽略高频分量,从而达到压缩的目的。将高频分量去掉就要用到量化,这是产生信息损失的根源。 “量化”的主要任务是用有限个离散电平来近似表达已抽取出的信息。在此采用均匀量化,通过改变程序中的量化因子Q的值以得到不同压缩比的图像。Huffman编码时,首先对经DCT变换及量化后的图像收据扫描一遍,计算出各种像素出现的概率;然后按概率的大小指定不同长度的唯一码字,由此得到一张Huffman表。编码后的图像记录的是每个像素的码字,而码字与量化后像素值的对应关系记录在码表中。生成的一维字符矩阵即为实际中要传输的序列,压缩后

图像分割和边缘检测

岭南师范学院 课程名称数字图像处理 实验序号实验5 实验名称图像分割和边缘检测 实验地点综B207 2017年10 月14 日

四、实验过程(实验步骤、记录、数据、分析) 1.基于一阶导数的边缘算子 a=imread('y.jpg'); f=rgb2gray(a); subplot(2,2,1),imshow(f),title('原始图像'); [g1 , t1]=edge(f,'roberts',[ ], 'horizontal'); subplot(2,2,2), imshow(g1),title('Roberts'); [g2, t2]=edge(f, 'sobel',[ ], 'horizontal'); subplot(2,2,3), imshow(g2),title('Sobel'); [g3, t3]=edge(f, 'prewitt',[ ], 'horizontal'); subplot(2,2,4), imshow(g3),title('Prewitt'); 从图像结果来看,'Roberts'的边缘检测范围更加大 2、基于二阶导数的边缘算子:应用LOG算子检测边缘 a=imread('y.jpg'); f=rgb2gray(a); subplot(1,2,1),imshow(f),title('原始图像'); [g , t]=edge(f, 'log'); subplot(1,2,2),imshow(g),title('log');

3、基于约束条件的最优化检测边缘算子:应用Canny算子检测边缘a=imread('y.jpg'); f=rgb2gray(a); subplot(1,2,1),imshow(f),title('原始图像'); [g , t]=edge(f,'canny'); subplot(1,2,2),imshow(g),title('Canny');

基于DCT的图像压缩及Matlab实现

通信专业课程设计一 太原科技大学 课程设计(论文) 设计(论文)题目:基于DCT的图像压缩及Matlab实现 姓名____ 学号_ 班级_ 学院____ 指导教师____ 2010年12月31日

太原科技大学课程设计(论文)任务书 学院(直属系):时间: 学生姓名指导教师 设计(论文)题目基于DCT的图像压缩及Matlab实现 主要研究内容 掌握DCT变换实现图像压缩的基本方法,在不损害图像信源的有效信息量的情况下保证图像的质量,在MATLAB环境中进行图像压缩技术的仿真,并对仿真结果进行分析。 研究方法 主要运用实验法与观察法,通过编写程序实现对图像的DCT变换,观察图像结果进而实现对DCT变换的研究。 主要技术指标(或研究目标) 利用DCT变换编码方法进行图像压缩,提高信息传输的有效性及通信质量。 教研室 意见 教研室主任(专业负责人)签字:年月日

目录 摘要.............................................................................................................................................II 第1章绪论. (1) 第2章DCT变换概述 (2) 2.1DCT函数介绍 (2) 2.2DCT变换介绍 (2) 2.2.1DCT变换原理 (2) 2.2.2DCT变换编码的步骤 (3) 第3章程序运行及结果分析 (5) 3.1程序代码 (5) 3.2运行结果分析 (7) 第4章结论 (11) 参考文献 (12)

最常用的matlab图像处理的源代码

最常用的一些图像处理Matlab源代 码 #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 #6:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 #7:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 #8:图像的自适应魏纳滤波 #9:运用5种不同的梯度增强法进行图像锐化 #10:图像的高通滤波和掩模处理 #11:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 #12:利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理 1.数字图像矩阵数据的显示及其傅立叶变换 f=zeros(30,30); f(5:24,13:17)=1; imshow(f, 'notruesize'); F=fft2(f,256,256); % 快速傅立叶变换算法只能处矩阵维数为2的幂次,f矩阵不 % 是,通过对f矩阵进行零填充来调整 F2=fftshift(F); % 一般在计算图形函数的傅立叶变换时,坐标原点在 % 函数图形的中心位置处,而计算机在对图像执行傅立叶变换 % 时是以图像的左上角为坐标原点。所以使用函数fftshift进 %行修正,使变换后的直流分量位于图形的中心; figure,imshow(log(abs(F2)),[-1 5],'notruesize');

2 二维离散余弦变换的图像压缩I=imread('cameraman.tif'); % MATLAB自带的图像imshow(I); clear;close all I=imread('cameraman.tif'); imshow(I); I=im2double(I); T=dctmtx(8); B=blkproc(I,[8 8], 'P1*x*P2',T,T'); Mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2=blkproc(B,[8 8],'P1.*x',Mask); % 此处为点乘(.*) I2=blkproc(B2,[8 8], 'P1*x*P2',T',T); figure,imshow(I2); % 重建后的图像 3.采用灰度变换的方法增强图像的对比度I=imread('rice.tif'); imshow(I); figure,imhist(I); J=imadjust(I,[0.15 0.9], [0 1]); figure,imshow(J); figure,imhist(J);

图像分割与边缘检测

实验一、图像分割与边缘检测 一、实验目的 依据边缘检测的理论,实现灰度图像一阶和二阶边缘检测方法,启发学生依据边缘特征进行图像分析与识别,提高学生图像处理与分析能力和实际动手能力。 二、实验内容 1 编程实现一阶差分边缘检测算法,包括Roberts梯度算子、Prewitt算子和Sobel算子。 2 编程实现二阶差分Laplace边缘检测算法。 3 分析与比较各种边缘检测算法的性能。 三、实验原理 1 基本原理分析(略) 2 部分源程序 1)clc all; [I,map]=imread('rice.png'); figure; subplot(3,2,1),imshow(I,map); I=double(I); [IX IY]=gradient(I); GM=sqrt(IX.*IX+IY.*IY); OUT1=GM; subplot(3,2,2);imshow(OUT1,map); OUT2=I; J=find(GM>=10); OUT2(J)=GM(J); subplot(3,2,3),imshow(OUT2,map); OUT3=I; J=find(GM>=10); OUT3(J)=255; subplot(3,2,4),imshow(OUT3,map); OUT4=I; J=find(GM<=10); OUT4(J)=255; subplot(3,2,5),imshow(OUT4,map); OUT5=I; J=find(GM>=10); OUT5(J)=255; Q=find(GM<10); OUT5(Q)=0; subplot(3,2,6),imshow(OUT5,map); 2) I = imread('coins.png'); BW1 = edge(I,'roberts'); BW2 = edge(I,'prewitt'); BW3 = edge(I,'sobel'); BW4 = edge(I,'log'); BW5 = edge(I,'canny'); figure

一种基于MATLAB的JPEG图像压缩具体实现方法

一种基于MATLAB的JPEG图像压缩具体实现方法 说明:该方法主要是对FPGA硬件实现编码的一个验证,MATLAB处理时尽量选择了简单化和接近硬件实现需要。 JPEG编码解码流程:BMP图像输入、8*8分块、DCT变换、量化、Zig_Zag 扫描、获取DC/AC系数中间格式、Huffman熵编码、DC/AC系数Huffman熵解码,反zig_zag扫描、反量化、反DCT变换、8*8组合、解码图像显示。 下面根据具体代码解释实现过程。 1.BMP图像输入 A=imread('messi_b.bmp'); %读取BMP图像矩阵 R=int16(A(:,:,1))-128; %读取RGB矩阵,由于DCT时输入为正负输入, G=int16(A(:,:,2))-128; %使得数据分布围-127——127 B=int16(A(:,:,3))-128; 通过imread函数获取BMP图像的R、G、B三原色矩阵,因为下一步做DCT 转换,二DCT函数要求输入为正负值,所以减去128,使得像素点分布围变为-127~127,函数默认矩阵A的元素为无符号型(uint8),所以如果直接相减差值为负时会截取为0,所以先用int16将像素点的值转为带符号整数。网上很多都提到了第一步的YUV转换,但是由于MATLAB在实验时YUV转换后色差失真比较严重,这里没有进行YUV转换。个人理解为YUV转换后经过非R/G/B原理显示器显示效果可能会比较好,或者如果图像有色差可以选择YUV调整。为了方便,读入的图像像素为400*296,是8*8的50*37倍,所以代码里没有进行8*8的整数倍调整。 2. 8*8分块 R_8_8=R(1:8,1:8);%取出一个8*8块 这里以R色压缩解码为例,后边解释均为R色编码解码过程,最后附全部代码。R_8_8为: 3.DCT变换 R_DCT=dct2(R_8_8); 使用MATLAB函数dct2进行DCT变换,也可使用DCT变换矩阵相乘的方法,即R_DCT=A* R_8_8*A T,其中A为DCT变换矩阵。R_DCT为:

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

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

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

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

一种基于MATLAB的JPEG图像压缩具体实现方法

一种基于MATLAB的JPEG图像压缩具体实现方法说明:该方法主要是对FPGA硬件实现编码的一个验证,MATLAB处理时尽量选择了简单化和接近硬件实现需要。 JPEG编码解码流程:BMP图像输入、8*8分块、DCT变换、量化、Zig_Zag 扫描、获取DC/AC系数中间格式、Huffman熵编码、DC/AC系数Huffman熵解码,反zig_zag扫描、反量化、反DCT变换、8*8组合、解码图像显示。 下面根据具体代码解释实现过程。 1.BMP图像输入 A=imread('messi_b.bmp'); %读取BMP图像矩阵 R=int16(A(:,:,1))-128; %读取RGB矩阵,由于DCT时输入为正负输入,G=int16(A(:,:,2))-128;%使得数据分布范围-127——127 B=int16(A(:,:,3))-128; 通过imread函数获取BMP图像的R、G、B三原色矩阵,因为下一步做DCT 转换,二DCT函数要求输入为正负值,所以减去128,使得像素点分布范围变为-127~127,函数默认矩阵A的元素为无符号型(uint8),所以如果直接相减差值为负时会截取为0,所以先用int16将像素点的值转为带符号整数。网上很多都提到了第一步的YUV转换,但是由于MATLAB在实验时YUV转换后色差失真比较严重,这里没有进行YUV转换。个人理解为YUV转换后经过非R/G/B原理显示器显示效果可能会比较好,或者如果图像有色差可以选择YUV调整。为了方便,读入的图像像素为400*296,是8*8的50*37倍,所以代码里没有进行8*8的整数倍调整。 2.8*8分块 R_8_8=R(1:8,1:8);%取出一个8*8块 这里以R色压缩解码为例,后边解释均为R色编码解码过程,最后附全部代码。R_8_8为: 3.DCT变换 R_DCT=dct2(R_8_8); 使用MATLAB函数dct2进行DCT变换,也可使用DCT变换矩阵相乘的方法,即R_DCT=A*R_8_8*A T,其中A为DCT变换矩阵。R_DCT为:

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

实验二图像分割与边缘检测 一.实验目的及要求 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 = 125 IM2BW Convert image to binary image by thresholding. IM2BW produces binary images from indexed, intensity, or RGB images. To do this, it converts the input image to grayscale format (if it is not already an intensity image), and then converts this grayscale image to binary by thresholding. The output binary image BW has values of 0 (black) for all pixels

基于MAtlab图像压缩编码

数字图像处理 题目基于LBG算法的矢量量化 图像压缩编码实验 院(系)名称 专业名称 学生姓名 学生学号 指导教师 2012年5月15日 摘要 在航天、军事、气象、医学、多媒体等领域中经常需要大量存储和传输各种静态图像和视频图像。为了提高传输效率和减少存储空

间,必须采取有效的压缩编码算法消除图像中所包含的各种冗余信息并在给定的失真条件下使用尽量少的比特数来描述图像。要想得到好的性能编码,仅采用标量量化是不可能的,而矢量量化(VQ)作为一种高效的数据压缩技术,其突出优点是压缩比大以及解码算法简单,已被广泛应用于图像压缩领域。本实验采用LBG算法得图像压缩所需要的码书,通过码书实现图像压缩编码。大量实验结果表明:LBG算法对初始码书依赖性大,对于给定的码字大小,码书越大,压缩比越低,但重建图像质量越好;码书相同时码字较小的编码性能较优。 关键字:矢量量化(VQ)、LBG算法、码书、压缩比、码字

一、实验原理 矢量量化: 当把多个信源符号联合起来形成多维矢量,再对矢量进行标量量化时自由度将更大,同样的失真下,量化基数可进一步减少,码率可进一步压缩。这种量化叫矢量量化。 LGB 算法: 一种有效和直观的矢量量化码书设计算法——LBG 算法(也叫GLA 算法)是由Linde 、Buzo 和Gray 于1980年首先提出来的。该算法基于最佳矢量量化器设计的最佳划分和最佳码书这两个必要条件,且是Lloyd 算法在矢量空间的推广,其特点为物理概念清晰、算法理论严密及算法实现容易。 针对训练矢量集为{}110,,,-=M x x x X ,其LBG 算法的具体步骤如下: 步骤1:给定初始码书{}) 0(1)0(1)0(0)0(,,,-=N y y y C ,令迭代次数 0=n ,均失真∞→-)1(D ,给定相对误差门限)10(<<εε。 步骤2:用码书)(n C 中的各码字作为质心,根据最佳划分原则把训 练矢量集X 划分为N 个胞腔{}) (1)(1)(0)(,,,n N n n n S S S S -= ,)(n i S 满足 {} X v y v d y v d v S n j N j n i n i ∈==-≤≤ ),,(min ),(|)(1 0)()( 步骤3:计算平均失真 ∑ -=-≤≤=1 )(1 0) (),(min 1M i n j i N j n y x d M D 判断相对误差是否满足 ε≤--)()()1(/)(n n n D D D 若满足,则停止算法,码书)(n C 就是所求的码书。否则,转步骤4。

实验五图像分割及目标检测

电子科技大学 实 验 报 告 学生姓名: 学号: 指导教师:彭真明 日期: 2014 年 5 月 20 日 一、实验名称:图像分割及目标检测 二、实验目的:

1、了解图像边缘检测及图像区域分割的目的、意义和手段。 2、熟悉各种经典的边缘检测算子、图像分割方法及其基本原理。 3、熟悉各种图像特征表示与描述的方法及基本原理。 4、熟练掌握利用matlab 工具实现各种边缘检测的代码实现。 5、熟练掌握利用matlab 工具实现基本阈值分割的代码实现。 6、通过编程和仿真实验,进一步理解图像边缘检测、图像分割及其在目标检测、目标识别及跟踪测量应用中的重要性。 三、实验原理及步骤: 1、利用Soble算子进行图像的边缘检测 (1)原理与步骤 数字图像的边缘一般利用一阶/二阶差分算子进行检测。常用的差分算子包括:Roberts 算子(交叉对角算子),Prewitt 算子(一阶),Sobel 算子(一阶),Laplacian 算子(二阶),LoG 算子(二阶)及Canny 边缘检测算法等。其中,Soble 算子为常见的一类梯度算子(一阶梯度算子)。 其x, y 方向的梯度算子分别为: 一幅数字图像I(如图1)与Sx 和Sy 分别做卷积运算后(可采用多种方式,如conv2,filter2 及imfilter),可以求得x,y 两个方向的梯度图像Dx,Dy,然后,可以计算得到原图像的梯度幅度,即 或:

(2)进一步执行梯度图像D 的二值化处理(建议采用Otsu 阈值,也可考虑其他阈值分割),检测图像的二值化边缘。 (3)对于与步骤同样的输入图像I,利用matlab 工具的edge(I,’soble’)函数进行处理。试比较处理结果与步骤(2)的得到的结果的差异,并分析存在差异的原因。 (4)画出原图像、原图像的Dx, Dy 图,幅度图(D)及最后的二值化边缘检测结果图。 2、数字图像中目标区域的形心计算 (1)按如下公式计算原图像(图 2)的质心。 (2)对图 2 中的黑色形状目标进行阈值分割,得到二值化的图像; 图2 原始图像(240*240) (3)计算目标形状的面积(以像素表示); (4)计算图中黑色形状目标的形心位置,并在原图上进行位置标记(可用红色小圆圈)。 其中,M,N 为图像尺寸。x,y 为像素图像平面上的坐标。 (5)画出原图像、原图上叠加质心标记图;分割后的二值化图及分割图上叠加形心标记图。 四、程序框图

基于MATLAB 的图像压缩处理其实现

基于MATLAB 的图像压缩处理及其实现 一.图像压缩的概念 从实质上来说,图像压缩就是通过一定的规则及方法对数字图像的原始数据进行组合和变换,以达到用最少的数据传输最大的信息。 二.图像压缩的基本原理 图像数据之所以能被压缩,就是因为数据中存在着大量冗余信息,另外还有相当数量的不相干信息,这为数据压缩技术提供了可能。 数据压缩技术就是利用数据固有的冗余性和不相干性,将一个大的数据文件转化成较小的文件,图像技术压缩就是要去掉数据的冗余性。 图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。 由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。

三.图像的编码质量评价 在图像编码中,编码质量是一个非常重要的概念,怎么样以尽可能少的比特数来存储或传输一幅图像,同时又让接收者感到满意,这是图像编码的目标。对于有失真的压缩算法,应该有一个评价准则,用来对压缩后解码图像质量进行评价。常用的评价准则有两种:一种是客观评价准则;另一种是主观评价准则。主观质量评价是指由一批观察者对编码图像进行观察并打分,然后综合所有人的评价结果,给出图像的质量评价。而对于客观质量评价,传统的编码方法是基于最小均方误差(MSE)和峰值信燥比(PSNR)准则的编码方法,其定义如下 MSE= (1) PSNR=101g( (2) 式中:Nx,Nr图像在x方向和Y方向的像素数,f(i,j)——原图像像素的灰度值,f(i,j)--处理后图像像素的灰度值。对于主观质量,客观质量评价能够快速有效地评价编码图像的质量,但符合客观质量评价标准的图像不一定具有较好的主观质量,原因是均方误差只是从总体上反映原始图像和压缩图像的差别,但对图像中的所有像点同等对待,因此并不能反映局部和人眼的视觉特性。对于图像信号,人眼是最终的信号接受者,因此在压缩时不仅要以MSE作为评价标准,还应当考虑到人的主观视觉特性。

matlab静态图像分割与边缘检测与图像压缩与编码

学号14102500892 光电图像处理实验报告 实验三:静态图像分割与边缘检测 作者肖剑洪专业电子科学与技术学院物理与电子学院指导老师王晓明 完成时间2013.12.2

实验三静态图像分割与边缘检测 一、实验目的 1.学习常用的图像分割与边缘检测方法,并通过实验使学生体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响; 2.观察图像分割的结果,产生对所讲述理论知识的直观认识,加深对图像分割与边缘检测相关理论知识的理解。 3.掌握常用图象分割及边缘检测方法的算法设计及编程实现; 4.学会使用MATLAB软件中关于图像分割与边缘检测的函数; 二、实验设备 联想图像处理工作站 三、实验内容及要求 1.自己编写M-function实现图像阈值分割算法,要求该程序能对256级灰度图像进行处理,显示处理前、后图像; 2.自己编写M-function实现利用Sobel算子进行图像边缘检测的算法,并对图像进行检测,显示原图像、处理后的图像。 3.调用Matlab自带的图像处理函数,用不同的算子对图像进行分割、边缘检测,比较结果。 4.结合以上实验内容,使用ICETECK-DM642-IDK-M实验系统进行相应的动态视频图像分割及边缘检测,观察结果。 四、实验原理 1.图像分割 图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。图像分割有三种不同的途径:区域法、边界法、边缘法。最常用的是灰度阈值化处理进行的图像分割:

(,)(,)255 (,)f x y T g x y f x y T ?=T)和G2(

图像分割和图像边缘检测

图像分割和图像边缘检测 边缘检测和图像分割的联系:边缘检测是通过图像的梯度变化将图像中梯度变化明显的地方检测出来,针对的是边缘信息。图像分割是将目标分割出来,针对的是目标对象,边缘检测是空间域图像分割的一种方法,属于包含关系 边缘检测后的图像是二值图像,对二值图像可以运用形态学操作来分割目标,所以边缘检测是图像分割的一个前提。但分割不一定非要用边缘检测。 图像分割:概念: 图像分割是将图像划分成若干个互不相交的小区域的过程,所谓小区域是某种意义下具有共同属性的像素的连通集合。 从集合的观点看:它应该是具有如下性质的一种点集,集合R代表整个区域,对R的分割可看作将R分成N个满足以下五个条件的非空子集R1,R2,,RN: 目的: 无论是图像处理、分析、理解与识别,其基础工作一般都建立在图像分割的基础上; 将图像中有意义的特征或者应用所需要的特征信息提取出来; 图像分割的最终结果是将图像分解成一些具有某种特征的单元,称为图像的基元; 相对于整幅图像来说,这种图像基元更容易被快速处理。 图像分割原理图像分割的研究多年来一直受到人们的高度重视,至今提出了各种类型的分割算法。Pal把图像分割算法分成了6类:阈值分割,像素分割、深度图像分割、彩色图像分割,边缘检测和基于模糊集的方法。但是,该方法中,各个类别的内容是有重叠的。为了涵盖不断涌现的新方法,有的研究者将图像分割算法分为以下六类:并行边界分割技术、串行边界分割技术、并行区域分割技术、串行区域分割技术、结合特定理论工具的分割技术和特殊图像分割技术。 图像分割的特征:分割出来的各区域对某种性质例如灰度,纹理而言具有相似性,区域内部是连通的的且没有过多小孔。 区域边界是明确的

基于Matlab的图像边缘检测算法的实现及应用

目录 摘要 (1) 引言 (2) 第一章绪论 (3) 1.1 课程设计选题的背景及意义 (3) 1.2 图像边缘检测的发展现状 (4) 第二章边缘检测的基本原理 (5) 2.1 基于一阶导数的边缘检测 (8) 2.2 基于二阶导的边缘检测 (9) 第三章边缘检测算子 (10) 3.1 Canny算子 (10) 3.2 Roberts梯度算子 (11) 3.3 Prewitt算子 (12) 3.4 Sobel算子 (13) 3.5 Log算子 (14) 第四章MATLAB简介 (15) 4.1 基本功能 (15) 4.2 应用领域 (16) 第五章编程和调试 (17) 5.1 edge函数 (17) 5.2 边缘检测的编程实现 (17) 第六章总结与体会 (20) 参考文献 (21)

摘要 边缘是图像最基本的特征,包含图像中用于识别的有用信息,边缘检测是数字图像处理中基础而又重要的内容。该课程设计具体考察了5种经典常用的边缘检测算子,并运用Matlab进行图像处理结果比较。梯度算子简单有效,LOG 算法和Canny 边缘检测器能产生较细的边缘。 边缘检测的目的是标识数字图像中灰度变化明显的点,而导函数正好能反映图像灰度变化的显著程度,因而许多方法利用导数来检测边缘。在分析其算法思想和流程的基础上,利用MATLAB对这5种算法进行了仿真实验,分析了各自的性能和算法特点,比较边缘检测效果并给出了各自的适用范围。 关键词:边缘检测;图像处理;MATLAB仿真

引言 边缘检测在图像处理系统中占有重要的作用,其效果直接影响着后续图像处理效果的好坏。许多数字图像处理直接或间接地依靠边缘检测算法的性能,并且在模式识别、机器人视觉、图像分割、特征提取、图像压缩等方面都把边缘检测作为最基本的工具。但实际图像中的边缘往往是各种类型的边缘以及它们模糊化后结果的组合,并且在实际图像中存在着不同程度的噪声,各种类型的图像边缘检测算法不断涌现。早在1965 年就有人提出边缘检测算子,边缘检测的传统方法包括Kirsch,Prewitt,Sobel,Roberts,Robins,Mar-Hildreth 边缘检测方法以及Laplacian-Gaussian(LOG)算子方法和Canny 最优算子方法等。 本设计主要讨论其中5种边缘检测算法。在图像处理的过程需要大量的计算工作,我们利用MATLAB各种丰富的工具箱以及其强大的计算功能可以更加方便有效的完成图像边缘的检测。并对这些方法进行比较

基于数学形态学的图像边缘检测方法研究文献综述

文献综述 课题:基于数学形态学的图像边缘检测方法研究 边缘检测是图像分割的核心容,而图像分割是由图像处理到图像分析的关键步骤,在图像工程中占据重要的位置,对图象的特征测量有重要的影响。图像分割及基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式,使得更高层的图像分析和理解成为可能。从而边缘检测在图像工程中占有重要的地位和作用。因此对边缘检测的研究一直是图像技术研究中热点,人们对其的关注和研究也是日益深入。 首先,边缘在边界检测、图像分割、模式识别、机器视觉等中有很重要的作用。边缘是边界检测的重要基础,也是外形检测的基础。同时,边缘也广泛存在于物体与背景之间、物体与物体之间,基元与基元之间,是图像分割所依赖的重要特征。其次,边缘检测对于物体的识别也是很重要的。第一,人眼通过追踪未知物体的轮廓而扫视一个未知的物体。第二,如果我们能成功地得到图像的边缘,那么图像分析就会大大简化,图像识别就会容易得多。第三,很多图像并没有具体的物体,对这些图像的理解取决于它们的纹理性质,而提取这些纹理性质与边缘检测有极其密切的关系。 理想的边缘检测是能够正确解决边缘的有无、真假、和定向定位。长期以来,人们一直关心这一问题的研究,除了常用的局

部算子及以后在此基础上发展起来的种种改进方法外,又提出了许多新的技术,其中,比较经典的边缘检测算子有 Roberts cross算子、Sobel算子、Laplacian算子、Canny算子等,近年来又有学者提出了广义模糊算子,形态学边缘算子等。这些边缘检测的方法各有其特点,但同时也都存在着各自的局限性和不足之处。 本次研究正是在已有的算法基础上初步进行改进特别是形 态学边缘算子,以期找到一个更加简单而又实用的算子,相信能对图像处理中的边缘检测方法研究以及应用有一定的参考价值。 一、课题背景和研究意义: 伴随着计算机技术的高速发展,数字图像处理成为了一门新兴学科,并且在生活中的各个领域得以广泛应用。图像边缘检测技术则是数字图像处理和计算机视觉等领域最重要的技术之一。在实际图像处理中,图像边缘作为图像的一种基本特征,经常被用到较高层次的图像处理中去。边缘检测技术是图像测量、图像分割、图像压缩以及模式识别等图像处理技术的基础,是数字图像处理重要的研究课题之一。 边缘检测是图像理解、分析和识别领域中的一个基础又重要的课题, 边缘是图像中重要的特征之一,是计算机视觉、模式识别等研究领域的重要基础。图像的大部分主要信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,是图像中灰度变化比较强烈的地方,也即通常所说的信号发生奇异变化的地

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

实验三图像分割与边缘检测 上课老师:赵欢喜实验指导:吴磊 实验地点:科技楼4楼计算机实验中心时间:2010.12.14 一.实验目的 1. 理解图像分割的基本概念; 2. 理解图像边缘提取的基本概念; 3. 掌握进行边缘提取的基本方法; 4. 掌握用阈值法进行图像分割的基本方法。 二.实验基本原理 ●图象边缘检测 图像理解是图像处理的一个重要分支,研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置 由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。 导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。 一阶导数与是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向α上的灰度变化率可以用相应公式进行计算;对于数字图像,应该采用差分运算代替求导。

相关主题