簡體   English   中英

OpenCV Python:窗口大小和鼠標事件坐標

[英]OpenCV Python: Window Size and Mouse Events Coordinates

我正在嘗試使用鼠標事件並存儲光標瀏覽過的坐標。 問題是我的圖像很小,為96x96像素,並且OpenCV選擇的窗口大小的寬度大於我的圖像的寬度。 因此,我的圖像僅占據窗口的左側。 但是OpenCV可以識別的坐標與窗口大小相對應,因此,如果將光標移至窗口的中間,則圖像本身上的坐標才被標記在中間。 例如,在此圖像中,光標位於窗口的中間而不是圖像的中間:

標簽圖像

我嘗試使用WindowResize函數,但是由於某種原因,它不適用於如此小尺寸的圖像,我假設這是OpenCV中最小的窗口尺寸。

是否有人知道如何使鼠標坐標實際上與圖像本身而不是窗口中的坐標相對應,或者如何使窗口尺寸與非常小的圖像(96x96)時的圖像尺寸完全相對應?

我認為可以通過放大圖像大小來實現。 這是一些python代碼。

scaleFactor = 10 
rows, cols = img.shape[:2] 
img = cv2.resize(img, (scaleFactor*cols, scaleFactor*rows), interpolation=cv2.INTER_LINEAR)

然后獲取鼠標位置並按比例縮小。 (偽代碼...)

px, py = getMouseClickPosition()
px /= scaleFactor
py /= scaleFactor

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM