자율주행 그리고 OpenCV

#OpenCV #파이슨으로배우는OpenCV #파이슨 #자율주행 #lena

자율주행에 대해 공부하던 중 카메라, 그리고 비전, 영상처리에 대해 관심이 생겼다.

© © © kuzelevdaniil, 출처 Uns pl ash

자율주행차가 차선을 인식하는 방법, 그리고 사물을 인식하는 방법이 궁금했다.실제로 어떤 알고리즘을 사용하고 있는지 자료를 찾아보니 YOLO라는 알고리즘을 많이 사용하고 있다고 한다.

YOLO에 대해서도 시간을 내서 따로 더 공부해보자. 우선 OpenCV 책을 한 권 샀다.e-book과 종이책을 고민한 끝에 편하게 읽기에는 종이책이 좋을 것 같아 종이책을 펼쳐놓고 강의 수강 신청을 했다.

책의 구성이 좋을 것 같고 강의 구성도 좋을 것 같아 강의를 수강 신청하고 1강은 오늘 자기 전에 보고 컴퓨터 설정을 끝내야겠다는 생각으로 시작했다.

시작이 반이다. 일단 시작했으니까 끝을 봐야지. 사실 나중으로 갈수록 흥미진진한 내용이 많다. 시작은 환경 구축이 전부다. 이 환경의 구축에는 시간이 걸린다. 다행히 파이썬과 아나콘다는 설치돼 있어 시간이 단축됐다. 파이참을 그대로 쓸까 고민 끝에 비주얼 스튜디오도 설치했다. 아무래도 강의 환경을 그대로 따라해보는 게 중간에 다른 변수를 줄여줄 것 같아. 강의 내용은 만들어놓고 시간이 흘러 프로그램 버전은 업그레이드돼 다행히 큰 문제는 발생하지 않았다. 오히려 업그레이드된 버전이 문제를 일으키기도 하지만 현재 설치까지는 큰 문제 없이 진행됐다.

© 저지 고레키, 출처 픽사베이 화면에 영상을 출력하는 간단한 프로그램 코드 연습을 했다.

몇 가지 함수를 기억하고 불러 쓸 수 있는 연습이 사실 전부인 것 같다.

1단계) cv2.imread(파일명) 2) cv2.named Window(‘윈도우명’) : 창을 만든다(반드시 해당 함수를 사용하지 않아도 imshow로 창을 만들어 준다) 3단계) cv2.imshow : 이미지를 표시한다(4단계) cv2.waitKey() : 이미지가 즉시 사라지지 않도록 기다린다.5단계) cv2.destroy All Windows() : 모든 창 닫기

import sysimport cv2

print(‘Hello,OpenCV’,cv2.__version__)

img=cv2.imread(‘lena.bmp’)

if img is None:print(‘Image laod failed’)sys.exit()

cv2.namedWindow(‘lena’)cv2.imshow(‘lena’,img)cv2.waitKey()

cv2.destroy All Windows() 프로그램 소스 코드 이미지는 “lena”를 사용했다.The Lenna (or Lena) picture is one of the most widely used standard test images used for compression algorithms. The comp.compression FAQ says the following: For the curious: ‘lena’ or ‘lenna’ is a digitized Playboy centerfold, from November 1972. (Lenna is the spelling in Playboy, Lena is the Swed…www.lenna.org

error: Content is protected !!