簡體   English   中英

在OpenCV中測量角度的參考點是什么?

[英]What is the reference point for measuring angles in OpenCV?

我試圖在OpenCV中使用密集光流來推斷物體的運動方向。 我正在使用calcOpticalFlowFarneback()獲取流量坐標,使用cartToPolar()來獲取指示方向的矢量角度。

為了解釋結果,我需要知道測量角度的參考點。 我發現這篇博文表明角度范圍是360°。 這告訴我角度測量將沿着單位圓的線。 我無法理解這一點。

cartToPolar()的文檔沒有涵蓋這一點,我測試它的嘗試失敗了。

似乎cartToPolar()產生的角度是指在左上角的圖像坐標起點上以順時針方向旋轉90°的單位圓。 它看起來像這樣。

我通過使用OpenCV提供的密集光流示例得出了這個結論。 我取代了線hsv[...,0] = ang*180/np.pi/2hsv[...,0] = ang*180/np.pi以獲得從弧度正確的角度轉換。 然后我測試了一個視頻,人們從右上角移動到左下角,反之亦然。 我用GIMP對主色進行采樣並得到RGB值,我將其轉換為HSV值。 色調值對應於以度為單位的角度。

從右上角向左下方移動的人產生大約300°的角度,而相反移動的人產生大約120°的角度。 這暗示了單位圓的定位方式。

查看代碼fastAtan32f用於計算角度。 這似乎是一個atan2實現。

暫無
暫無

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

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