【MATLAB】图像细化算法

细化算法

图像细化(Image Thinning),一般指二值图像的骨架化(Image Skeletonization)的一种操作运算。

所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到图像的骨架。骨架,可以理解为图象的中轴。

评价指标:

  • 收敛性
  • 保证细化后细线的连通性
  • 保持原图的基本形状
  • 减少笔画相交处的畸变
  • 细化结果是原图像的中心线
  • 细化的快速性和迭代次数少

其中:

  • 非迭代算法:

   一次即产生骨架,如基于距离变换的方法、游程长度编码细化等

  • 迭代算法:

    重复删除图像边缘满足一定条件的像素,最终得到单像素宽带骨架

  • 串行算法

    是否删除像素在每次迭代的执行中是固定顺序的,它不仅取决于前次迭代的结果,也取决于本次迭代中已处理过像素点分布情况

  • 并行算法

    像素点删除与否与像素值图像中的顺序无关,仅取决于前次迭代的结果


效果

时间: 2024-08-05 15:39:47

【MATLAB】图像细化算法的相关文章

C#写的图像细化算法

自己用C#写的图像细化算法,输入图像为Bitmap类型,输出也是同样的类型,注意<pre name="code" class="csharp">ToThinner(Bitmap srcImg) 中的输入图像srcImg必须为像素0和255的二值化的图像. public unsafe Bitmap ToThinner(Bitmap srcImg)         {             int iw = srcImg.Width;          

hilditch图像细化算法python实现

import cv2 import numpy as np import matplotlib.pyplot as plt # hilditch thining def hilditch(img): # get shape H, W, C = img.shape # prepare out image out = np.zeros((H, W), dtype=np.int) out[img[..., 0] > 0] = 1 # inverse pixel value tmp = out.copy

基于matlab的经典图像边缘检测算法

图像边缘检测算法 (1)Robert算子边缘检测 (2)Sobel算子边缘检测 (3)Prewitt算子边缘检测 (4)LOG算子边缘检测 (5)Canny边缘检测 Matlab的实现. 其实还只是掉包侠,一点算法没有写 争取有空用openCV写一遍 I=imread('1.jpg'); I0=rgb2gray(I); subplot(231); imshow(I); BW1=edge(I0,'Roberts',0.16); subplot(232); imshow(BW1); title('R

【opencv】图像细化

[opencv]图像细化 [opencv]图像细化 2014-02-17 21:03 5404人阅读 评论(14) 收藏 举报  分类: opencv(1)  版权声明:本文为博主原创文章,未经博主允许不得转载. 在我们进行图像处理的时候,有可能需要对图像进行细化,提取出图像的骨架信息,进行更加有效的分析. 图像细化(Image Thinning),一般指二值图像的骨架化(Image Skeletonization) 的一种操作运算. 所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍

OpenCV图像细化的一个例子

转自:http://blog.csdn.net/zfdxx369/article/details/9091953?utm_source=tuicool 本文是zhang的一篇经典图像细化论文,效果很好,采用并行计算,速度非常快; 下文是 "智慧视觉"在CSDN上对这篇论文程序的一个改造,亲测可用! 由于OpenCV没有自带的图像细化函数,网上提供的基本是基于1.0接口的,于是乎动手搞成2.0 Mat类型接口的,方便好用.细化方法当中,当属经典的Zhang并行快速细化算法,细化之后的轮廓

自动阈值法:Otsu法 用MATLAB实现Otsu算法:

%自动阈值法:Otsu法 用MATLAB实现Otsu算法: clc;clear;close; I=imread('e:\role0\003i.bmp'); subplot(1,2,1),imshow(I); title('原始图像') grid on; %显示网格线 axis on; %显示坐标系 level=graythresh(I); %确定灰度阈值 BW=im2bw(I,level); subplot(1,2,2),imshow(BW); title('Otsu 法阈值分割图像') gri

【数字图像处理】图像细化处理

图像细化 细化技术:把一个平面区域简化成图的结构形状表示法骨架:一种细化结构,它是目标的重要拓扑描述,具有非常广泛的应用.在图像识别或数据压缩时,经常用细化结构.例如:在识别字符之前,往往要先对字符作细化处理,求出字符的细化结构.细化的作用:目的将图像的骨架提取出来的同时,保持图像细小部分的连通性,对被处理的图像进行细化有助于突出形状特点和减少冗余信息量. 细化算法 细化算法:采取逐次去除边界的方法进行的,不能破化图像的连通性.通常选择一组结构元素对,不断在这些结构对中循环,如果所得结果不再变化

图像缩放算法

图像缩放算法较多,下面仅以最邻近插值算法和双线性插值算法作介绍. 如下图1所示,表示原始图像和缩放以后的图像. 图1 图像缩放(原始图像à缩放图像) 图像缩放就是将原始图像中的点经过某一算法映射到目标图像的点的行为,即要找到目标图像中的点p1对应在原始图像中点p0,简单而言就是找点p0. 假设: 原始图像src的分辨率为(srcW * srcH): 目标图像dst的分辨率为(dstW * dstH). 那么: 原始图像宽与目标图像宽的比例 原始图像高与目标图像高的比例 由 所以,原始图像中的点p

图像放大算法

http://www.cnblogs.com/celerychen/archive/2010/11/25/3588222.html 一. 图像放大算法 图像放大有许多算法,其关键在于对未知像素使用何种插值方式.以下我们将具体分析几种常见的算法,然后从放大后的图像是否存在色彩失真,图像的细节是否得到较好的保存,放大过程所需时间是否分配合理等多方面来比较它们的优劣. 当把一个小图像放大的时候,比如放大400%,我们可以首先依据原来的相邻4个像素点的色彩值,按照放大倍数找到新的ABCD像素点的位置并进