在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("测试点击");
// 关闭窗口则退出程序
canvasFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Mat转换成能在窗口显示的格式
To

本文介绍了如何在JavaCV环境下,使用CanvasFrame在Eclipse中显示图像,并添加鼠标点击事件监听。传统的JLabel方法无法响应输入事件,而CanvasFrame作为JFrame的子类,通过其内置的Canvas组件可以捕获点击事件,从而实现需求。通过代码示例展示了在JavaCV环境中监听鼠标点击并输出点击坐标的实现过程。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



