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...