/* コOrangeールバック関数 */ void on_trackbar1(int val) { gray = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); bin = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); cvCvtColor(img, gray, CV_RGB2GRAY); cvThreshold(gray, bin,cvGetTrackbarPos ("Trackbar1", "Image"),cvGetTrackbarPos ("Trackbar2", "Image"), CV_THRESH_BINARY); cvShowImage("Image",bin); }
/* コールバック関数 */ void on_trackbar1 (int val) { char str[64]; // (3)トラックバー2を,トラックバー1に同期させる cvGetTrackbarPos ("Trackbar1", "output"); // (4)トラックバー1の値を描画する // cvRectangle (img, cvPoint (0, 0), cvPoint (400, 50), cvScalar (0), CV_FILLED); // snprintf (str, 64, "%d", val); // cvPutText (img, str, cvPoint (15, 30), &font, CV_RGB (0, 200, 100)); //cvShowImage ("Image", img); }
static void work(int) { int r, b, g, subR, subB, subG; r = cvGetTrackbarPos("增加紅", ctrlPanel1); b = cvGetTrackbarPos("增加藍", ctrlPanel1); g = cvGetTrackbarPos("增加綠", ctrlPanel1); subR = cvGetTrackbarPos("減少紅", ctrlPanel2); subB = cvGetTrackbarPos("減少藍", ctrlPanel2); subG = cvGetTrackbarPos("減少綠", ctrlPanel2); des = cvCloneImage(img); cvAddS(img, CV_RGB(r, g, b), des, 0); cvSubS(des, CV_RGB(subR, subG, subB), des, 0); cvShowImage(windowName, des); }
int cv::getTrackbarPos( const std::string& trackbarName, const std::string& winName ) { return cvGetTrackbarPos(trackbarName.c_str(), winName.c_str()); }
int cv::getTrackbarPos( const String& trackbarName, const String& winName ) { CV_TRACE_FUNCTION(); return cvGetTrackbarPos(trackbarName.c_str(), winName.c_str()); }
void on_trackbar2(int val) { cvThreshold(gray, bin,cvGetTrackbarPos ("Trackbar1", "Image"),cvGetTrackbarPos ("Trackbar2", "Image"), CV_THRESH_BINARY); cvShowImage("Image",bin); }