OpenCV学习04

来源:互联网 发布:dwg trueview for mac 编辑:程序博客网 时间:2024/06/03 22:57
带进度条的高斯模糊
#include "highgui.h"#include "cv.h"typedef struct{    char const *window_in;    char const *window_out;    IplImage* image;    IplImage* out;}userdata;userdata Loadpro(char const *A,char const *B,char const *C){    userdata p= {A,B,cvLoadImage(C)};    return p;}void onTrackbarSlide(int deepth,void* data){    cvSmooth    (     (*(userdata*)data).image,     (*(userdata*)data).out,     CV_GAUSSIAN,2*deepth+1,0    );    cvShowImage    (     (*(userdata*)data).window_out,     (*(userdata*)data).out    );}void example(userdata &pro){    cvNamedWindow(pro.window_in,CV_WINDOW_AUTOSIZE);    cvNamedWindow(pro.window_out,CV_WINDOW_AUTOSIZE);    cvShowImage(pro.window_in, pro.image);    int deepth=0;    pro.out = cvCreateImage    (     cvGetSize(pro.image),     IPL_DEPTH_8U,     3    );    cvCopy(pro.image, pro.out);    cvShowImage(pro.window_out, pro.out);    if(pro.image)    {        cvCreateTrackbar2        (         "Deep",         pro.window_out,         &deepth,         30,         onTrackbarSlide,         &pro         );    }    while(cvWaitKey(0)!=27);    cvReleaseImage(&pro.image);    cvReleaseImage(&pro.out);    cvDestroyWindow(pro.window_out);    cvDestroyWindow(pro.window_in);}int main(int argc, const char * argv[]) {    // insert code here...    userdata pro =Loadpro    (     "Gauss_in",     "Gauss_out",     "/Users/sean/Pictures/11.png"    );    example(pro);    return 0;}



0 0
原创粉丝点击