글

라벨이 lane recognition인 게시물 표시

OpenCV를 사용한 간단한 차선 인식 예제

이미지
본 포스트에는 OpenCV에서 제공하는 이미지 프로세싱 API들을 사용한 차선 인식하는 Python 예제 코드를 싣고 있다.  차선인식은 허프 변환(Hough Transform) 을 사용하여 도로의 차선을 구분하도록 하였다. 차선 인식을 위해 다음과 같은 이미지 처리과정이 필요하다.  - 이미지 컬러를 흑백으로 변환 - 노이즈를 제거하기 위한 blurring - 이미지에서 경계면 검출 - 허프 변환을 통해 이미지에서 선 위치 검출 - 검출된 선 위치데이터를 사용해 차선 필터링 차선 필터링은 간단하게 검출된 선의 각도만을 계산하여 필터링 하였다. 예제 코드는 다음과 같다. import math import cv2 as cv def LaneFiltering(lines):          if lines is None:         return None          Lanes = []          for i in range(0,len(lines)):         l = lines[i][0]         x1,y1,x2,y2 = l[0],l[1],l[2],l[3]         if x1 == x2:             Lanes.append([x1,y1,x2,y2])             continue         angle = math.atan((y2-y1)/(x2-x1))*180/mat...