전체 글

전체 글

    라즈베리파이에 OpenCV 설치하기

    사실 라즈베리파이에 OpenCV를 설치한지는 좀 시간이 지났지만 이제서야 설치 방법을 글로 남긴다. 원래 OpenCV를 설치하는 과정이 지루함의 연속이고 게다가 몇번이나 재설치를 해서 좀 진이 빠지긴 했었다. 라즈베리파이에 OpenCV를 설치하는 과정은 구글링만 좀 해도 바로 알수있지만 가장 도움을 많이 받았던 사이트는 https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/ 와 http://webnautes.tistory.com/916 이다. 우선 OpenCV 자체가 용량이 크기 때문에 16GB의 SD카드를 추천한다. 만약 메모리가 부족할 것 같다면 라즈베리파이에 기본적으로 ..

    스틱 PC에 OpenCV 설치하기 (OpenCV+Python)

    필자가 가지고있는 PC중 가장 작고 저렴한 것은 ASUS사의 VIVO STICK PC이다. 크기는 만연필 케이스 만한데 무려 윈도우10이 탑제된 초소형 PC이다. 아래는 PC의 사양이다. 휴대하기 매우 편해 필자는 프레젠테이션 용으로 주로 사용했다. 자율주행차 프로젝트를 진행하면서 무선제어의 한계를 뼈저리게 느끼고 있었는데, 차량에 이런 초소형 PC를 탑제하면 좀 더 수월하게 작업할 수 있지 않을가 싶었다. 그래서 이번에는 이 스틱 PC에 파이썬 및 OpenCV를 설치해 사용해볼 것이다. 다만 OpenCV가 가벼운 프로그램은 아니라 2GB의 메모리를 가진 스틱 PC에서 원할히 돌아갈지는 의문이었다. 우선 OpenCV를 설치하는 과정은 여기를 그대로 따랐다. 설치 중간중간 사진으로 남겨봤다. 생각보다 설치..

    자율주행차량 만들기(아두이노+OpenCV) #3 - 계획수정

    이전글 : 자율주행차량 만들기(아두이노+OpenCV) #2 - 차선 인식 및 조향 테스트 주문했던 카메라 모듈이 배송중 문제가 생겨서 예상보다 늦게 도착했다. 다행이 성능은 괜찮아서 바로 사용이 가능할 정도였다. 아래는 최종적으로 구성한 모습이다. (1) 차량 (2) 제어부 문제는 생각만큼 잘 작동하지는 않았다. 알고리즘은 문제가 없지만 하드웨어적이 문제가 좀 있다. 그 이유를 몇가지 나열해보면 1. 카메라의 위치가 너무 낮아 급격한 차선변경에 반응하기가 어렵다. 카메라가 좀 더 높은 위치로 이동시키면 되지만 차량자체가 너무 작아 불가능했다. 2. 조향을 막무가내로 모터를 이용해 정밀한 제어가 불가능 하다. 처음부터 걱정했던 문제였지만 역시나 서보모터를 이용한 조향이 필수적이다. 3. 차량의 전력이 부족..

    OpenCV edge 검출 (모서리 검출)

    자율주행차의 차선인식 알고리즘을 구현하면서 가장먼저 시도한 영상처리는 바로 모서리 검출 과정이었다. 대부분의 모서리 검출은 Canny 알고리즘을 이용하는데, OpenCV에서는 매우 쉽게 구현할수있다. 123456789101112131415161718import cv2import numpy as np cap = cv2.VideoCapture(0) while (1): _, frame = cap.read() cv2.imshow('Original', frame) edges = cv2.Canny(frame, 100, 200) cv2.imshow('Edges', edges) k = cv2.waitKey(5) & 0xFF if k == 27: break cv2.destroyAllWindows()cap.release(..

    자율주행차량 만들기(아두이노+OpenCV) #2 - 차선 인식 및 조향 테스트

    이전글 : 자율주행차량 만들기(아두이노+OpenCV) #1 - 주행 테스트 차선인식쪽 코드가 어느정도 완성되어 차선 인식 및 차량의 조향장치를 테스트 해보았다. 아직 차량에 부착할 컬러카메라 모듈이 없는 관계로 (필자는 흑백 카메라 모듈만 가지고 있었다.) 급한대로 웹캠을 이용해 테스트를 진행했다. Pycharm 개발 환경에서 제작한 차선인식 프로그램이다. 차선을 인식한후 중심점을 추출해 차선이 차량으로부터 얼마나 떨어져 있는지 알수있다. 오른쪽 창의 붉은색 숫자는 중심점으로 떨어진 거리를 픽셀단위로 나타낸 것이다. 파이썬으로 아두이노와 시리얼 통신을 해야하는데 중간 매개체로 아두이노 FPS 게임 컨트롤러 2.0을 이용했다. 데모 영상이다. 차선이 차량 중심을 통과하도록 조향을 하는 간단한 원리이다. [..

    자율주행차량 만들기(아두이노+OpenCV) #1 - 주행 테스트

    매력적인 영상처리 툴인 OpenCV를 공부하면서 일종의 목표였던 자율주행 차량에 대한 구상이 어느정도 끝났다. 일단은 차량이 어느정도 완성되어 간단하게 주행테스트를 해보았다. 알다시피 OpenCV를 사용하기 위해서는 아두이노로는 어림도 없기 때문에 적어도 라즈베리파이 정도의 성능의 보드가 필요하다. 하지만 아직 라즈베리파이도 초보단계이고 해서 영상은 컴퓨터에서 처리하는 방식으로 결정했다. 덕분에 차체는 매우 간단하다. 컴퓨터로 영상을 보내줄 영상송신 장비와 모터 드라이버, 제어 데이터를 받을 nrf24l01 무선모듈, 아두이노 나노로 구성되어있다. 차량은 저렴한 장난감 자동차인데, 조향이 서보모터가 아닌 무식하게 모터로 조향하는 방식이라 다소 걱정되긴 한다. 아직 코드는 완성되지 않아 간단하게 전에 제작..

    OpenCV 웹캠 얼굴인식 (Python)

    OpenCV의 가장 기본적인 예제중 하나는 당연 얼굴인식 예제가 아닐까 싶다. 오직 얼굴인식을 구연하기 위해 OpenCV를 설치하는 경우도 있으니 말이다. 다른말로 하면 OpenCV를 처음 시작할때 할 수있는 예제중 가장 매력적인 예제라는 것이다. OpenCV로 얼굴인식을 하기위해서는 XML파일 하나가 필요하다. 아래에서 다운이 가능하다. 위 파일을 파이썬과 같은 디렉토리상에 놔둔뒤, 아래 코드를 실행하자. (개발환경 : Python 3.6.5, OpenCV 3.4.2, Pycharm python 3.6) 12345678910111213141516171819import numpy as npimport cv2 detector = cv2.CascadeClassifier('haarcascade_frontalf..

    OpenCV 윈도우+파이썬+파이참 개발환경 (window+python+pycharm)

    오랜만에 OpenCV 관련 글이다. 지금까지 OpenCV+Visual studio C++조합으로 OpenCV를 공부중 이었지만 설치 및 빌드시간만 2시간이 걸리는데다가 Visual studio 자체도 무거운 프로그램이라 파이썬을 이용한 OpenCV로 전향했다. 게다가 요즘은 C보단 파이썬이 대세 아닌가? Python으로 OpenCV를 설치하는 방법은 인터넷에 자세히 나와있지만 사람마다 조금씩 다르기 때문에 한가지 확실한 방법으로 정리하고자 한다. (윈도우 기준) 우선 아래 링크에서 Python을 다운받는다. https://www.python.org/downloads/windows/ Python의 버전은 최신버전을 받아도 무방하나 (작성일 기준 3.7.0이 최신버전이다.) 몇몇 라이브러리들은 3.6.X 버..

    Anet a8 오토레벨링 가이드

    오랜만에 3D 프린터 관련 글이다. 작년에 구매한 Anet a8을 별 불만없이 사용중 이었지만 (물론 좀 더 비싼 프린터를 사용해보면 생각이 바뀌겠지만) 뭔가 새로운 변화를 주고싶다는 생각에 소소하게 업그래이드를 진행하고 있다. 그 중 하나가 바로 Anet a8에 오토레벨링 센서를 장착하는 것이었다. 예전에 컴퓨터 모니터를 올려두던 작은 받침대 위에 프린터를 올려두고 사용중이다. 순정 상태와 크게 다를건 없고 배드테이프, 베어링, 그리고 오로레벨링 센서를 추가한 상태이다. 구매링크 필자가 구매한 오토레벨링 센서의 구매좌표가 기억이 나질 않아 비슷한 것으로 올려놓았다. 이제부터 프린터의 팜웨어를 업데이트하고 레벨링센서를 장착하는 방법을 소개하겠다. 1. 오토레벨링 센서 장착 우선 원래 장착되어있던 Z 앤드..

    유용한 화면 캡쳐프로그램 Picpick

    픽픽(PicPick)은 캡쳐기능과 이미지 에디터, 각도기, 색상추출 등의 기능도 제공하는 무료 프로그램이다. 윈도우의 그림판보다 훨씬 강력한 픽픽(PicPick)은 이미지 편집에 필요한 기본적인 기능들을 모두 포함하면서 다양한 캡쳐 기능과 부가 기능들을 제공하며 레지스트리 값을 작성하거나 시스템 폴더에 접근하지 않아 포터블 버전으로도 활용이 가능한 프로그램이다. 기본적인 전체화면 캡쳐외에 활성화된 윈도우, 컨트롤, 영역지정, 고정된 사각영역, 자유영역, 웹페이지 캡쳐의 다양한 캡쳐기능을 제공하며, 캡쳐한 이미지를 이미지 에디터를 통해 색반전, 그레이스케일, 모자이크효과, 대비 및 밝기 조절, 색도 및 채도 조절, 상하 및 좌우 대칭 이동, 90도 회전, 프레임, 그림자넣기 등의 기능을 이용하여 이미지 편..

# 테스트용