在Eclipse下使用OpenCV开发过程中,需要在弹出窗口中显示图像,并能监听鼠标点击事件。但网上一般都是用JLabel显示图片,再添加到JFrame上;但JLabel不对输入事件作出反应,无法实现需求。
为此我查遍资料,发现在JavaCV中,实现了CanvasFrame这个类,它继承了JFrame,内部是用Canvas来显示图片。而Canvas可以实现监听输入事件,所以通过CanvasFrame获取Canvas可以监听鼠标点击事件。
代码实现如下(先得配置好JavaCV环境):
public static void main(String[] args) {
Mat mat = opencv_imgcodecs.imread("img/Lena.jpg");
// 新建canvasFrame窗口,命名
CanvasFrame canvasFrame = new CanvasFrame("测试点击");
// 关闭窗口则退出程序
c