我使用OpenCV的highgui包括能够在我的图像上获得鼠标点击位置。我已经定义了一个向量< 2f>我想存储已被点击的点数,但不幸的是,我认为我做错了什么:
void on_mouse(int mouseEvent, int x, int y, int flags, void* param)
{
if( mouseEvent == CV_EVENT_LBUTTONDOWN) {
printf("Clicked image at (%d,%d)\n", x, y);
(vector<Point2f>*)param.push_back(Point2f(x,y));
}
}
我的编译器在 param 上给出了一个错误,并说错误:Expression必须具有类类型。 任何人都可以建议如何投射为矢量结构?或者我做错了什么?
答案 0 :(得分:4)
(vector<Point2f>*)param.push_back(Point2f(x,y));
应该是:
reinterpret_cast<vector<Point2f>*>(param)->push_back(Point2f(x,y));