ハフ変換は与えられたパラメータから全条件を計算し直線を求めるのに対し、確率的ハフ変換はある程度の当たりをつけて計算し、負荷を軽くする。
HoughLinesP(image, lines, double rho, double theta, int threshold, double minLineLength=0, double maxLineGap=0) |
---|
■入力画像
■処理コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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() |
■結果