python+opencv 호 프 변환 검 측 직선 실현

본 논문 의 사례 는 python+opencv 가 호 프 변환 검 측 직선 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
python+opencv 고 스 평활 필터 실현
python+opencv 한도 값 분할 실현
기능:
직선 길이 의 한도 값 을 제어 하기 위해 슬라이더 를 만 듭 니 다.즉,이 한도 값 보다 큰 검 측,이 한도 값 보다 작은 무시 입 니 다.
주의:여기 서 사용 하 는 함 수 는 Hough Lines P 이지 Hough Lines 가 아 닙 니 다.Hough Lines P 는 직선 적 인 단점 을 직접 제시 하기 때문에 선분 을 그 릴 때 게 으 름 을 피 울 수 있 습 니 다.
코드:

# -*- coding: utf-8 -*- 

import cv2

#      
def HoughLinesP(minLineLength):
 global minLINELENGTH 
 minLINELENGTH = minLineLength + 1
 print "minLINELENGTH:",minLineLength + 1
 tempIamge = scr.copy()
 lines = cv2.HoughLinesP( edges, 1, cv2.cv.CV_PI/180, minLINELENGTH, 0 )
 for x1,y1,x2,y2 in lines[0]:
 cv2.line(tempIamge,(x1,y1),(x2,y2),(0,255,0),1)
 cv2.imshow(window_name,tempIamge)

#    
minLineLength = 20

#    
minLINELENGTH = 20
max_value = 100
window_name = "HoughLines Demo"
trackbar_value = "minLineLength"

#    ,      ,    
scr = cv2.imread("G:\\homework\\building.bmp")
gray = cv2.cvtColor(scr,cv2.COLOR_BGR2GRAY)
img = cv2.GaussianBlur(gray,(3,3),0)
edges = cv2.Canny(img, 50, 150, apertureSize = 3)
cv2.namedWindow(window_name)

#     
cv2.createTrackbar( trackbar_value, window_name, \
  minLineLength, max_value, HoughLinesP)

#   
HoughLinesP(20)

if cv2.waitKey(0) == 27: 
 cv2.destroyAllWindows()
호출:

>>> import os
>>> os.chdir("g:\homework")
>>> 
>>> import HoughLines
minLINELENGTH: 20
minLINELENGTH: 21
minLINELENGTH: 22
minLINELENGTH: 23
minLINELENGTH: 25
minLINELENGTH: 26
minLINELENGTH: 27
minLINELENGTH: 28
효과 그림:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기