首页 > 其他 > 详细

QT-鼠标点击获取ROI

时间:2020-09-10 13:16:35      阅读:149      评论:0      收藏:0      [点我收藏+]

逻辑,鼠标在QT 的控件上点击,获取该点坐标(x,y),然后设置ROI区域长宽width,heigh,然后获取ROI区域左上角点((x-width/2),(y+height/2)),即鼠标点击的点为ROI区域的中心

技术分享图片

 

步骤:

1.获取QT控件的鼠标点击坐标,我需要在Qlabel上获取鼠标点击坐标,需要重写QLabel,加上鼠标事件,然后把相应的Qlabel控件提升为重写的QLabel,

技术分享图片

技术分享图片

2.获取ROI左上角,并判短是否会有边缘越界问题。

 1     int xx, yy;//左上角坐标
 2     int w, h;//控件的宽,高
 3     int ww,hh;//ROI区域宽、高
 4     xx = x - ww/2;//x为鼠标点击的横坐标
 5     yy = y + hh/2;//y为鼠标点击的纵坐标
 6     if (xx > (w-ww))//判断边缘
 7     {
 8         xx = (w-ww);//留有刚好够ROI区域的xx坐标
 9 
10     }
11     if (yy > h)//判断边缘
12     {
13         yy = h;
14     }
15     if (xx < 0)//判断边缘
16     {
17         xx = 0;//判断边缘
18     }
19     if (yy < ww)
20     {
21         yy = ww;//留有刚好够ROI区域的yy坐标
22     }
23     img(Rect(width, height, 150, 150)).copyTo(imgROI);//将img中ROI区域的数据传到imgROI中

 

QT-鼠标点击获取ROI

原文:https://www.cnblogs.com/zxl971213/p/13644340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!