QT-鼠標點擊獲取ROI-用於攝像頭模組定點對焦


本算法是為了實現攝像頭模組定點對焦功能,當然也可以進行手動選擇ROI獲取相關數據。算法邏輯:鼠標在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中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM