无法跟踪鼠标事件 OpenCV
Cannot track mouse events OpenCV
我无法使用OpenCV的Highgui库跟踪鼠标事件。我想打印图像上单击点的位置,但 onMouse(( 函数跟踪实际图像后面显示的灰色图像的单击。
这是我的代码:
using namespace std;
using namespace cv;
// called when mouse is clicked
void onMouse(int event, int x, int y, int f, void* userdata) {
// If the left button is pressed
if (event == cv::EVENT_LBUTTONDOWN){
cout << "Position: "<< x <<", "<<y<< endl;
return;
}
}
int main(int argc, char** argv){
// read image into cv::Mat input_img and visualize
Mat image = imread(argv[1], CV_LOAD_IMAGE_COLOR);
if (!image.data) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
String win_name= "window";
namedWindow(win_name, WINDOW_AUTOSIZE);// Create a window for display.
imshow(win_name, image);
setMouseCallback(win_name, onMouse, (void*)&image);
cout << "setMouseCallBack CALLED" << endl;
waitKey(0);
destroyAllWindows();
return 0;
}
你说"出现"是什么意思,你只有一个窗口,顺便说一下,尝试像这样调用函数
setMouseCallback(win_name, onMouse, 0);
我想也许通过传递指针,它只需要指向数据的指针,而无法读取有关图像颜色的信息。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- Android NDK传感器向事件队列报告奇怪的间隔
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- OpenCV C++.快速计算混淆矩阵
- 从文本文件中读取时钟时间和事件时间并进行处理
- WMI检测进程创建事件-c++
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 处理闪烁窗口事件
- C++Builder中的OnClick事件签名存在问题
- 哪些库可以通过Opencv调整曝光率
- OpenCV 为键盘事件设置回调
- 无法跟踪鼠标事件 OpenCV
- OpenCV 鼠标事件始终在鼠标滚动时接收事件 10 和 *flag* 0
- opencv c++中的鼠标事件
- OpenCV 2.3 with VS 2008 -鼠标事件