目的:
cvSetMouseCallback 滑鼠動作
函數介紹:
cvInRangeS 找出特定的顏色,找到的話,就顯示為白色,不然為黑色。
參數值:
cvSetMouseCallback(“image", mymouse);
void mymouse(int event, int x, int y, int flag, void* param)
使用範例:
sample13_Mouse_滑鼠動作
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string.h>
#include <fstream>
using namespace cv;
IplImage * image;
void mymouse(int event, int x, int y, int flag, void* param)
static int mousedown=0;
if(event==CV_EVENT_LBUTTONDOWN)
cvCircle(image, cvPoint(x,y), 8,cvScalar(0,0,255));
mousedown=1;
if(event==CV_EVENT_MOUSEMOVE && mousedown==1)
cvCircle(image, cvPoint(x,y), 2,cvScalar(0,255,0));
if(event==CV_EVENT_LBUTTONUP)
cvCircle(image, cvPoint(x,y), 8,cvScalar(255,0,0));
mousedown=0;
cvShowImage("image", image);
int main(int argc,char **argv)
int width,height;
if(argc<=1)
std::cout<<"Error:Please Load a picture!"<<std::endl;
return 0;
//建立視窗
namedWindow("image",CV_WINDOW_AUTOSIZE);
//讀取圖片
image=cvLoadImage(argv[1]);
width=image->width;
height=image->height;
cvShowImage("image", image);
cvSetMouseCallback("image", mymouse);
waitKey(0);
cvDestroyAllWindows();
return 0;
結果:
補充資料:
06 cvSetMouseCallback 滑鼠動作
No comments:
Post a Comment