OpenCV中Hough函式各引數詳解

2021-06-20 12:15:53 字數 1476 閱讀 9770

cvhoughlines2

說明:

此函式是opencv影象變換函式中的乙個,主要用來訪問霍夫變換的兩個演算法———標準霍夫變換(sht)和累計概率霍夫變換(ppht)。

函式原型:

cvseq* cvhonghlines2( cvarr* image, void* line_storage, int mehtod, double rho, double theta, int threshold, double param1 =0, double param2 =0 );

引數說明:

image:輸入8-位元、單通道(二值)影象,當用cv_hough_probabilistic方法檢測的時候其內容會被函式改變。

line_storage:檢測到的線段儲存倉.可以是記憶體儲存倉 (此種情況下,乙個線段序列在儲存倉中被建立,並且由函式返回),或者是包含線段引數的特殊型別(見下面)的具有單行/單列的矩陣(cvmat*)。矩陣頭為函式所修改,使得它的 cols/rows 將包含一組檢測到的線段。如果 line_storage 是矩陣,而實際線段的數目超過矩陣尺寸,那麼最大可能數目的線段被返回(線段沒有按照長度、可信度或其它指標排序).

method:hough 變換變數,是下面變數的其中之一:

cv_hough_standard-- 傳統或標準 hough 變換. 每乙個線段由兩個浮點數 (ρ, θ) 表示,其中 ρ 是直線與原點(0,0) 之間的距離,θ 線段與 x-軸之間的夾角。因此,矩陣型別必須是 cv_32fc2 type.

cv_hough_probabilistic-- 概率 hough 變換(如果影象包含一些長的線性分割,則效率更高). 它返回線段分割而不是整個線段。每個分割用起點和終點來表示,所以矩陣(或建立的序列)型別是 cv_32sc4.

cv_hough_multi_scale-- 傳統 hough 變換的多尺度變種。線段的編碼方式與 cv_hough_standard 的一致。

rho:與象素相關單位的距離精度,一般取1

theta:弧度測量的角度精度

threshold:閾值引數。如果相應的累計值大於 threshold, 則函式返回的這個線段.

param1:第乙個方法相關的引數:

對傳統 hough 變換,不使用(0).

對概率 hough 變換,它是最小線段長度.

對多尺度 hough 變換,它是距離精度 rho 的分母 (大致的距離精度是 rho 而精確的應該是 rho / param1 ).

param2:第二個方法相關引數:

對傳統 hough 變換,不使用 (0).

對概率 hough 變換,這個引數表示在同一條直線上進行碎線段連線的最大間隔值(gap), 即當同一條直線上的兩條碎線段之間的間隔小於param2時,將其合二為一。

對多尺度 hough 變換,它是角度精度 theta 的分母 (大致的角度精度是 theta 而精確的角度應該是 theta / param2).

OpenCV中各函式解釋

舉個例子 import cv2 clicked false def onmouse event,x,y,flags,param global clicked if event cv2.event lbuttonup clicked true cameracapture cv2.videocaptur...

opencv中Hough變換引數詳解

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!此函式是opencv影象變換函式中的乙個,主要用來訪問霍夫變換的兩個演算法 標準霍夫變換 sht 和累計概率霍夫變換 ppht cvseq cvhonghlines2 cvarr imag...

Hough變換在opencv中的應用

霍夫曼變換是一種可以檢測出某種特殊形狀的演算法,opencv中用霍夫曼變換來檢測出影象中的直線 橢圓和其他幾何圖形。由它改進的演算法,可以用來檢測任何形狀的圖形。找到通過足夠多數量的畫素點的所有直線,它分析每個單獨的畫素,並識別出所有的可能經過它的直線。當同一條直線穿過許多點,便意味著這條線的存在足...