ハフ変換は与えられたパラメータから全条件を計算し直線を求めるのに対し、確率的ハフ変換はある程度の当たりをつけて計算し、負荷を軽くする。
| HoughLinesP(image, lines, double rho, double theta, int threshold, double minLineLength=0, double maxLineGap=0) |
|---|
■入力画像

■処理コード
import cv2
import numpy as np
img = cv2.imread('buil.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,50,150,apertureSize = 3)
minLineLength = 100
maxLineGap = 10
lines = cv2.HoughLinesP(edges,1,np.pi/180,100,minLineLength,maxLineGap)
for x1,y1,x2,y2 in lines[0]:
cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)
cv2.imshow("houghline",img)
cv2.waitKey(0)
cv2.destroyWindow()
■結果

