图像骨架提取
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
title('二值化的图像');
bwl=bwmorph(I,'skel',Inf);
subplot(2,2,3);
imshow(bwl);
title('骨架提取');
bw2=bwmorph(bwl,'spur',4);
subplot(2,2,4)
imshow(bw2)
title('消除毛刺后的图像');
subplot(2,2,1);
imshow(I);
title('原图像');
level=graythresh(I);
I=im2bw(I,level);subplot(2,2,2);...
imshow(I);
re=ones(400,318);
I=re-I;
subplot(2,2,2);
imshow(I);
骨架的定义及提取原理
比较普遍的方法是采用目标(Object)中轴(Medial Axis)的概念。中轴线的点(像素点)定义为距离目标边界上两个点等距的那些像素。
在图像处理中实现这种等距的计算一般有两个途径。
一是使用距离变换(Distance Transform)的方法(在此不讨论)。
另外一个方法介绍如下:
(1)顶端两个像素和右下端两个像素被分离了,这样就会将原来的一个目标(物体)分为两个,不符合细化操作的要求。
(2)(因为如果这九个点只是一个物体的局部)顶端两个像素和右下端两个像素可能是由外部的像素点进行连接的,那么所有像素点(黑点)会形成一个空洞,如果中心点被删除,则会将孔洞消除,又违背了前面提及的细化的规则。
思路:想象一个图像目标四周被火点燃,燃烧的速度四周保持一致,那么四周由边界向质心方向(向内部中心)燃烧时,相互遇到的那条线,就是中轴线。
以长方形为例,可以想象,分别会有许多内接圆,分别沿着长方形(矩形)的四个角向中心方形移动。
拓扑方法是实现图像骨架化的有利工具,我们可以定义一些图像目标边界上可以删除的像素点,以便最后获得图像目标的骨架。
实验八
一、
1.设计并实现对数字图像进行骨架提取。
2.分析所得到的结果。
二、
1.实验环境
MATLAB
2.图像的骨架提取原理
图像细化
图像细化(Image Thinning),一般指二值图像的骨架化(ImageSkeletonization) 的一种操作运算。一个图像的骨架由一些线和曲线(比较理想的是单像素宽度),骨架可以提供一个图像目标的尺寸和形状信息,因而在数字图像分析中具有重要的地位,图像细化(骨架化)是进行图像识别、线条类图像目标分析的重要手段。
三、
1.图像骨架提取的程序流程图:
2.实验结果:
四、
一个图像的骨架由一些线和曲线(比较理想的是单像素宽度),骨架可以提供一个图像目标的尺寸和形状信息,因而在数字图像分析中具有重要的地位,图像细化(骨架化)是进行图像识别、线条类图像目标分析的重要手段。
附录:
clear all;
I=imread('kids.tif');
但是,我们还要求保持图像目标(一般常用于线条类的图像目标)的连通性(Connectivity),还不能改变图像目标的个数,不能改变目标内的空洞个数,也不能改变不同目标的相互关系(位置关系等等),一旦有些像素涉及到改变上述内容的,则一律不能被当作删除的图像像素。
我们可以利用一个3x3模Baidu Nhomakorabea来检测一个像素是否应该被删除掉。假定3乘3大小的图像中,中心点(黑点)被删除,那么会有如下两种情形:
bwl=bwmorph(I,'skel',Inf);
subplot(2,2,3);
imshow(bwl);
title('骨架提取');
bw2=bwmorph(bwl,'spur',4);
subplot(2,2,4)
imshow(bw2)
title('消除毛刺后的图像');
subplot(2,2,1);
imshow(I);
title('原图像');
level=graythresh(I);
I=im2bw(I,level);subplot(2,2,2);...
imshow(I);
re=ones(400,318);
I=re-I;
subplot(2,2,2);
imshow(I);
骨架的定义及提取原理
比较普遍的方法是采用目标(Object)中轴(Medial Axis)的概念。中轴线的点(像素点)定义为距离目标边界上两个点等距的那些像素。
在图像处理中实现这种等距的计算一般有两个途径。
一是使用距离变换(Distance Transform)的方法(在此不讨论)。
另外一个方法介绍如下:
(1)顶端两个像素和右下端两个像素被分离了,这样就会将原来的一个目标(物体)分为两个,不符合细化操作的要求。
(2)(因为如果这九个点只是一个物体的局部)顶端两个像素和右下端两个像素可能是由外部的像素点进行连接的,那么所有像素点(黑点)会形成一个空洞,如果中心点被删除,则会将孔洞消除,又违背了前面提及的细化的规则。
思路:想象一个图像目标四周被火点燃,燃烧的速度四周保持一致,那么四周由边界向质心方向(向内部中心)燃烧时,相互遇到的那条线,就是中轴线。
以长方形为例,可以想象,分别会有许多内接圆,分别沿着长方形(矩形)的四个角向中心方形移动。
拓扑方法是实现图像骨架化的有利工具,我们可以定义一些图像目标边界上可以删除的像素点,以便最后获得图像目标的骨架。
实验八
一、
1.设计并实现对数字图像进行骨架提取。
2.分析所得到的结果。
二、
1.实验环境
MATLAB
2.图像的骨架提取原理
图像细化
图像细化(Image Thinning),一般指二值图像的骨架化(ImageSkeletonization) 的一种操作运算。一个图像的骨架由一些线和曲线(比较理想的是单像素宽度),骨架可以提供一个图像目标的尺寸和形状信息,因而在数字图像分析中具有重要的地位,图像细化(骨架化)是进行图像识别、线条类图像目标分析的重要手段。
三、
1.图像骨架提取的程序流程图:
2.实验结果:
四、
一个图像的骨架由一些线和曲线(比较理想的是单像素宽度),骨架可以提供一个图像目标的尺寸和形状信息,因而在数字图像分析中具有重要的地位,图像细化(骨架化)是进行图像识别、线条类图像目标分析的重要手段。
附录:
clear all;
I=imread('kids.tif');
但是,我们还要求保持图像目标(一般常用于线条类的图像目标)的连通性(Connectivity),还不能改变图像目标的个数,不能改变目标内的空洞个数,也不能改变不同目标的相互关系(位置关系等等),一旦有些像素涉及到改变上述内容的,则一律不能被当作删除的图像像素。
我们可以利用一个3x3模Baidu Nhomakorabea来检测一个像素是否应该被删除掉。假定3乘3大小的图像中,中心点(黑点)被删除,那么会有如下两种情形: