OpenCV 角度計算

2021-10-01 05:41:23 字數 2469 閱讀 2255

把以前學習的知識重新整理一下,首先通過opencv霍夫線變換提取影象直線,分別取線上兩點,通過計算線的斜率,從而計算角度。

1、霍夫線變換

opencv支援兩種不同的霍夫變換:標準霍夫變換(sht)和累積概率霍夫變換(ppht)。在opencv中可以使用同乙個函式來使用兩種演算法。

void

houghlinesp

(inputarray image,outputarray lines,

double rho,

double theta,

int threshold,

double minlinelength=0,

double maxlinegap=

0)

image為輸入影象,要求是單通道,8位影象

lines為輸出引數,4個元素表示,即直線的起始和終止端點的4個座標(x1,y1),(x2,y2)

rho為距離解析度,一般為1

heta為角度的解析度,一般cv_pi/180

threshold為閾值,hough變換影象空間值最大點,大於則執行

minlinelength為最小直線長度(畫素),即如果小於該值,則不被認為是一條直線

maxlinegap為直線間隙最大值,如果兩條直線間隙大於該值,則被認為是兩條線段,否則是一條。

也可以通過其他方法去找邊線的點座標,如角點查詢。

2、公式計算

先分別求取線斜率k1,k2,然後帶進公式計算角度。

k =

(k2 - k1)/(

1+ k1*k2)

;angle =

atan

(k)*

180/ pi;

3、**如下

4、結果實現原圖:

結果:

OpenCV輪廓檢測,計算物體旋轉角度

效果還是有點問題的,希望大家共同 一下 findrotation angle.cpp 定義控制台應用程式的入口點。findcontours.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include include inclu...

OpenCV 計算三角形的角度

已知三角形的三個頂點,先計算每條邊的邊長,利用三角形的餘弦定理,使用反三角函式求出每個角的弧度值,再將弧度值轉化為角度值。三角形的餘弦定理 cosa b 2 c 2 a 2 2bc cosb a 2 c 2 b 2 2ac cosc b 2 a 2 c 2 2ab 弧度和角度轉換 角度 弧度 180...

關於角度的計算

transform.tranformdirection vector3 dir 將角度從區域性座標轉換到全域性座標.dir被視為區域性座標的方向 例如 someobject.transform.transfordirection vector3.right 返回的是someobject的右方 乙個方...