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