《学习OpenCV(中午版)》第3章 练习7
来源:互联网 发布:android手机定位源码 编辑:程序博客网 时间:2024/04/29 14:01
void myType7() {IplImage* src = cvLoadImage("lena.jpg", CV_LOAD_IMAGE_UNCHANGED);IplImage* blue = cvCreateImage(cvSize(src->width, src->height), src->depth, 1);IplImage* green = cvCreateImage(cvGetSize(src), src->depth, 1);IplImage* red = cvCreateImage(cvSize(src->width, src->height), src->depth, 1);cvSplit(src, blue, green, red, NULL);cvNamedWindow("Split Blue");cvShowImage("Split Blue", blue);cvNamedWindow("Split Green");cvShowImage("Split Green", green);cvNamedWindow("Split Red");cvShowImage("Split Red", red); IplImage* clone1 = cvCloneImage(green);IplImage* clone2 = cvCloneImage(green);double min_val;double max_val;cvMinMaxLoc(green, &min_val, &max_val);std::cout<<"min_val="<<min_val<<"\tmax_val="<<max_val<<std::endl;double th = (max_val-min_val)/2.0;cvSet(clone1, cvScalar(th));cvZero(clone2);cvCmp(green, clone1, clone2, CV_CMP_GE);cvNamedWindow("Clone2");cvShowImage("Clone2", clone2); cvSubS(green, cvScalar(th/2.0), green, clone2);cvNamedWindow("SubS green");cvShowImage("SubS green", green);}