细化:一个图像的中央骨骼部分叫做图像的骨架。骨架,可以理解为图象的中轴,例如一个长方形的骨架是它的长方向上的中轴线;正方形的骨架是它的中心点;圆的骨架是它的圆心,直线的骨架是它自身,孤立点的骨架也是自身。求图像骨架的过程就是图像的细化过程。图像的细化过程应能满足2个基本的条件,即
1、在细化的过程中,图像应有规律的缩小。
2、在图像缩小的过程中,图像的连通性应保持不变。
图像的细化主要针对二值图像而言。下图为示例图片(右边为源图像。左边为细化后图像)
下面是源程序:
#include "StdAfx.h"
#include <Windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <fstream>
#include <string>
#include <iostream>
#include <opencv/cv.h>
#include <opencv/highgui.h>
using namespace std;
void cvThin( IplImage*, IplImage*, int iterations);
//使用举例
int main(int argc, char* argv[])
{
IplImage *pSrc = NULL,*pDst = NULL,*pTmp = NULL;
//传入一个灰度图像
pSrc = cvLoadImage("C:\\Users\\Administrator\\Desktop\\02.bmp",CV_LOAD_IMAGE_GRAYSCALE);
i