⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pyramid_segmentation.c

📁 OpenCV的各类例子
💻 C
字号:
#include "cv.h"#include "highgui.h"#include <math.h>IplImage*  image[2] = { 0, 0 }, *image0 = 0, *image1 = 0;CvSize size;int  w0, h0,i;int  threshold1, threshold2;int  l,level = 4;int sthreshold1, sthreshold2;int  l_comp;int block_size = 1000;float  parameter;double threshold;double rezult, min_rezult;CvFilter filter = CV_GAUSSIAN_5x5;CvConnectedComp *cur_comp, min_comp;CvSeq *comp;CvMemStorage *storage;CvPoint pt1, pt2;void ON_SEGMENT(int a){       cvPyrSegmentation(image0, image1, storage, &comp,                       level, threshold1+1, threshold2+1);    /*l_comp = comp->total;    i = 0;    min_comp.value = cvScalarAll(0);    while(i<l_comp)    {        cur_comp = (CvConnectedComp*)cvGetSeqElem ( comp, i );        if(fabs(255- min_comp.value.val[0])>           fabs(255- cur_comp->value.val[0]) &&           fabs(min_comp.value.val[1])>           fabs(cur_comp->value.val[1]) &&           fabs(min_comp.value.val[2])>           fabs(cur_comp->value.val[2]) )           min_comp = *cur_comp;        i++;    }*/    cvShowImage("Segmentation", image1);}int main( int argc, char** argv ){    char* filename = argc == 2 ? argv[1] : (char*)"fruits.jpg";        if( (image[0] = cvLoadImage( filename, 1)) == 0 )        return -1;    cvNamedWindow("Source", 0);    cvShowImage("Source", image[0]);    cvNamedWindow("Segmentation", 0);    storage = cvCreateMemStorage ( block_size );    image[0]->width &= -(1<<level);    image[0]->height &= -(1<<level);    image0 = cvCloneImage( image[0] );    image1 = cvCloneImage( image[0] );    // 对彩色图像进行分割    l = 1;    threshold1 =255;    threshold2 =30;    ON_SEGMENT(1);sthreshold1 = cvCreateTrackbar("Threshold1", "Segmentation", &threshold1, 255, ON_SEGMENT);sthreshold2 = cvCreateTrackbar("Threshold2", "Segmentation",  &threshold2, 255, ON_SEGMENT);    cvShowImage("Segmentation", image1);    cvWaitKey(0);    cvDestroyWindow("Segmentation");    cvDestroyWindow("Source");    cvReleaseMemStorage(&storage );    cvReleaseImage(&image[0]);    cvReleaseImage(&image0);    cvReleaseImage(&image1);    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -