現在地 >> メニュー >> サンプルコード::OpenCV >> OpenCV::ドラッグ処理


問題


ウィンドウサイズ300×300,背景白のウィンドウを作り、
ドラッグ中だけ、座標値を出力するようにせよ。

 →OpenCV::ドラッグ処理2

答え



#include <cv.h>
#include <highgui.h>
#include <cstdio>
#include <iostream>

using namespace std;


void Mouse( int event, int x, int y, int flags ,void *param);

CvSize window={300,300};//ウィンドウサイズ
int main( int argc, char **argv)
{

IplImage *imgA = cvCreateImage(window,IPL_DEPTH_8U,3);
cvSet (imgA, cvScalarAll (255), 0);


cvNamedWindow("window",CV_WINDOW_AUTOSIZE);
cvShowImage("window",imgA);

cvSetMouseCallback("window", Mouse);


cvWaitKey(0); // 0秒待つ => ずっと入力待ち


cvReleaseImage( &imgA );

cvDestroyWindow("window");

return 0;
}


/**[ここから コールバック]***/
void Mouse( int event, int x, int y, int flags ,void *param = NULL) // コールバック関数
{
static bool MOUSE_FLAG=false;

switch(event)
{

case CV_EVENT_LBUTTONDOWN:
MOUSE_FLAG = true;
printf("(%d,%d) \n",x,y);
break;

case CV_EVENT_LBUTTONUP:
MOUSE_FLAG=false;
break;

}

if*1
{
printf("(%d,%d) \n",x,y);
}

}

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます