opencvを使い確率的ハフ変換で画像から直線を探す

ハフ変換は与えられたパラメータから全条件を計算し直線を求めるのに対し、確率的ハフ変換はある程度の当たりをつけて計算し、負荷を軽くする。

HoughLinesP(image, lines, double rho, double theta, int threshold, double minLineLength=0, double maxLineGap=0)

■入力画像
houghline test

■処理コード

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()

■結果
houghline test

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA