带有QT的Opencv window中的鼠标指针样式

Mouse pointer style in Opencv window with QT

我基于图像处理为我的项目定制了带有 Cuda 9.2 和 QT 5.9.6 的 opencv 4.0.1。在应用程序中,需要用户输入,用户点击由 opencv namedWindow 函数显示的图片的某些点。 opencv 函数 setMouseCallback 正常工作没有任何问题。但是 window 上的光标是默认的箭头形状,用户需要一些自定义光标形状,如十字光标。

我已经尝试过使用 Qcursor 方法,但其中 none 正在使用 opencv 'namedWindow'。

namedWindow("Original_1",WINDOW_FREERATIO);
imshow("Original_1", frame1_1); //show the frame in "MyVideo" window

我认为 namedWindowimshow 方便 类,可以快速获得结果。不太适合具有大量设置的成熟应用程序。它们也没有无缝集成到 Qt 框架中。

我建议你走下面的路。首先,你应该 convert cv::Mat to an QImage.

其次,您可以创建一个简单的 QDialog,其中包含显示 QImage 的框架。然后你可以在这个 QImage 对象上调用 setCursor