首页 > 代码库 > 高斯金字塔图像分割

高斯金字塔图像分割

基于高斯金子塔的图像分割的原理是,根据相邻金字塔采样的原理可知,上层金字塔是下层金字塔下采样得到,那么上层金子塔的一个点和下层 金字塔的四个点就有一个映射关系,若他们的差值小于threshold1,则被连接建立起来。同时与周围的连接进行比较,如果差值小于threshold2,则这两个连接形成一个簇。分辨率从小到大不断进行此过程。

// Segmentation.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#include <cv.h>
#include <highgui.h>

void main()
{
	
	
	//以原始通道数读取图片1
	IplImage* img1 = cvLoadImage("D://vc6.0//MSDev98//MyProjects//MachineVision//TestPic//Lena.bmp",CV_LOAD_IMAGE_UNCHANGED);
	IplImage* img2 = cvCreateImage(cvSize(img1->width, img1->height), IPL_DEPTH_8U, 1);

	
	//命名窗口
	cvNamedWindow("Origin", CV_WINDOW_AUTOSIZE);
	cvNamedWindow("PrySegmentation", CV_WINDOW_AUTOSIZE);	

	CvMemStorage* storage = cvCreateMemStorage(0);
	CvSeq* cmp = NULL;
	cvPyrSegmentation(img1, img2, storage, &cmp, 8, 150, 30);

	//显示图片
	cvShowImage("Origin", img1);
	cvShowImage("PrySegmentation", img2);

	cvWaitKey(0);
	
	cvReleaseImage(&img1);
	cvReleaseImage(&img2);

	cvDestroyAllWindows();
	
}