最終更新: mikk_ni3_92 2008年08月26日(火) 13:15:37履歴
現在地 >> メニュー >> サンプルコード::OpenCV >> OpenCVとマウス入力
関連 : OpenCV::基本編03、OpenCV::クリック地点と線描画
関連 : OpenCV::基本編03、OpenCV::クリック地点と線描画
#include <iostream> #include <cv.h> #include <highgui.h> const char *filename = "test.jpg"; //--- プロトタイプ宣言 ---// void Mouse( int event, int x, int y, int flags ,void *param); //---------- メイン関数 -----------// int main( int argc, char **argv) { IplImage *imgA = cvLoadImage( filename, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); if(imgA ==NULL) { std::cerr << filename <<":Can't load Image\n"; return -1; } cvNamedWindow(filename,CV_WINDOW_AUTOSIZE); cvShowImage(filename,imgA); cvSetMouseCallback(filename, Mouse); //コールバック関数の登録 cvWaitKey(0); // 0秒待つ => ずっと入力待ち cvReleaseImage( &imgA ); cvDestroyWindow(filename); return 0; } //--------- ここからコールバック関数 -----------// void Mouse( int event, int x, int y, int flags ,void *param = NULL) // コールバック関数 { switch(event) { case CV_EVENT_LBUTTONDOWN: std::cout << x << "," << y << "\n"; break; default: break; } }