您的位置:首页 > 其它

金字塔分割算法

2015-12-06 13:55 330 查看
这是我参考大神的作品,金字塔分割算法的大概意思就是,像金字塔那样,上层都是以下层为基础的,所以只要上下层之间在某个阈值1内就可以形成链接关系,而同之间的差值在阈值2范围内,就能确定他们的同层关系,opencv有专门的函数来实现这种算法,pyrSegmentation,这个函数的参数可以轻松地查到,我把程序贴在下面:

#include "cv.h"

#include "highgui.h"

#include <opencv2/legacy/legacy.hpp>

int main(){
IplImage *img1 = cvLoadImage("rice.png",CV_LOAD_IMAGE_UNCHANGED);

    IplImage *img2 = cvCreateImage(cvSize(img1->width,img1->height), IPL_DEPTH_8U, 1);

    cvNamedWindow("Origion");

    cvNamedWindow("PyrSegmentation");

    CvMemStorage *storage = cvCreateMemStorage(0);

    CvSeq *cmp = NULL;

    cvPyrSegmentation(img1, img2, storage, &cmp, 8, 150, 30);

    cvShowImage("Origion", img1);

    cvShowImage("PyrSegmentation", img2);

    cvWaitKey(0);

    cvReleaseImage(&img1);

    cvReleaseImage(&img2);

    cvDestroyAllWindows();

return 0;

}

有以下几个说明,#include <opencv2/legacy/legacy.hpp>这一句包含了PyrSegmentation()函数,源图像必须是灰度图,而且像素数是偶数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PyrSegmentation