做分水岭图像分割:cvWatershed
meanshift图像分割:PyrMeanShiftFiltering
用金字塔实现图像分割:cvPyrSegmentation
- #include <stdio.h>
- #include "cv.h"
- #include "highgui.h"
- #include <stdio.h>
- void f( IplImage* src, IplImage* dst )
- {
- CvMemStorage* storage = cvCreateMemStorage(0);
- CvSeq* comp = NULL;
- cvPyrSegmentation( src, dst, storage, &comp, 4, 200, 50 );
- cvReleaseMemStorage( &storage );
- }
- int main(int argc, char** argv)
- {
- // 从给定的文件名加载图像.
- char *filename="lena.jpg";
- IplImage *dst,*src = /blog.armyourlife.info/cvLoadImage(filename,1);
- if(!src)
- {
- printf("Couldn't seem to Open %s, sorry/n",filename);
- return -1;
- }
- dst = cvCreateImage( cvGetSize(src), src->depth, src->nChannels);
- f( src, dst);
- // 创建一个带有文件名称的命名窗口.
- cvNamedWindow( filename, 1 );
- // 在命名窗口中显示图像
- cvShowImage( filename, dst );
- // 按任何一个键退出.
- cvWaitKey(0);
- // 清理,不要是猪肉
- cvDestroyWindow( filename );
- cvReleaseImage( &src );
- cvReleaseImage( &dst );
- return 0;
- }