Я хочу получить позицию при перемещении и щелчке мышью в окне изображения. Я хочу создать прямоугольник в окне изображения, когда и где щелкают мышью.
У меня есть простой код из документа
#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
using namespace std;
using namespace cv;
void CallBackFunc(int event, int x, int y, int flags, void* userdata)
{
if ( event == EVENT_LBUTTONDOWN )
{
cout << "Left button of the mouse is clicked - position (" << x << ", " << y << ")" << endl;
}
else if( event == EVENT_RBUTTONDOWN )
{
cout << "Right button of the mouse is clicked - position (" << x << ", " << y << ")" << endl;
}
else if( event == EVENT_MBUTTONDOWN )
{
cout << "Middle button of the mouse is clicked - position (" << x << ", " << y << ")" << endl;
}
else if ( event == EVENT_MOUSEMOVE )
{
cout << "Mouse move over the window - position (" << x << ", " << y << ")" << endl;
}
}
int main(int argc, char** argv)
{
bool isDragging = false;
// Read image from file
Mat img = imread("input/pic1.jpg");
//if fail to read the image
if( img.empty() )
{
cout << "Error loading the image" << endl;
return -1;
}
//Create a window
namedWindow("My Window", 1);
//set the callback function for any mouse event
setMouseCallback("My Window", CallBackFunc, NULL);
//show the image
imshow("My Window", img);
// Wait until user press some key
waitKey(0);
return 0;
}
Он работает с формой Windows =, но я хочу использовать щелчки мыши. Я помещаю код в графический интерфейс. Выдает следующую ошибку:
Ошибка 3 ошибка C3867: 'ProjectFinal::MyForm::CallBackFunc': в вызове функции отсутствует список аргументов; используйте '&ProjectFinal::MyForm::CallBackFunc' для создания указателя на элемент c:\users\nungningz\documents\visual studio 2012\projects\projectfinal\projectfinal\MyForm.h 690 1 ProjectFinal
Ошибка 6, ошибка C3867: «ProjectFinal::MyForm::CallBackFunc»: в вызове функции отсутствует список аргументов; используйте '&ProjectFinal::MyForm::CallBackFunc' для создания указателя на элемент c:\users\nungningz\documents\visual studio 2012\projects\projectfinal\projectfinal\MyForm.h 690 1 ProjectFinal
7 IntelliSense: указатель на член недействителен для управляемого класса c:\Users\NungNingZ\Documents\Visual Studio 2012\Projects\ProjectFinal\ProjectFinal\MyForm.h 690 37 ProjectFinal