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); }
《学习OpenCV(中午版)》第3章 练习7
最新推荐文章于 2020-01-17 14:06:36 发布