OpenCV, 즉 카메라를 다루어야 하는 프로젝트 입니다!
그러므로 지금부터 어떤 환경에서 카메라를 다루어 볼 것인지 환경설정을 해보겠습니다.
실습환경
실습환경으로 OpenCV는 Visual Studio Code에서 실습하도록 하겠습니다.
Visual Studio Code, 줄여서 VScode라고 부르는 이 툴은 마이크로소프트에서 개발한 텍스트 에디터로 윈도우, macOS, 리눅스를 모두 지원합니다. 가격이 비싼 visual studio에 비해서 무료로 사용할 수 있는 IDE입니다.
모든 IDE들이 많은 확장 프로그램들을 지원하기 때문에 여러가지를 추가해서 개발을 할 수 있지요!
설치는 아래의 링크를 통해서 각 컴퓨터 환경에 맞게 설치해주시면 됩니다!
https://code.visualstudio.com/download
그리고 카메라는 노트북의 웹캠을 사용합니다. 데스크탑을 사용하시는 분도 다른 웹캠을 USB로 연결해서 사용해도 동일하게 따라오시면 됩니다.
혹시 라즈베리파이로 하실 분은 제가 아래의 링크에 라즈베리파이에서 OpenCV를 구성하는 법을 정리해 두었으니 참고하세요!
https://chick-it.tistory.com/19?category=1074980
VScode설정
자, VScode를 실행하시면, 대충 이런 화면으로 시작하실 겁니다.
이때, 폴더열기를 클릭해서 이번 OPenCV 프로젝트 파일들을 담을 폴더를 만들어서 지정해주시면 됩니다.
개인적으로는 바탕화면같은 곳에 폴더를 만들면 실습중 필요한 파일들을 import(가져오기)할 때 C:\user\사용자\바탕화면\폴더~~~~.... 이렇게 경로가 너무 길어져서 코드가 안이뻐지더라고요.
그래서 저는 C드라이브에 바로 workspace라는 폴더를 만들어서 진행했습니다.
제가 이렇게 할 때 편했다는거지 폴더생성은 자유롭게 하시면 됩니다.
python 설치
자, 폴더를 열었으면 이제 필요한 패키지들을 설치해야합니다.
일단, 이번 프로젝트는 python 언어로 합니다. 그러니 VScode에도 파이썬을 설치해주어야합니다.
VScode의 왼쪽 바에서 5번째 아이콘, 확장프로그램을 클릭하고 검색창에 'python'이라고 칩니다.
그러면 가장 상단에 Python이라고 뜰텐데요, 이걸 install, 설치해주시면 됩니다.
그럼 이제 VScode가 파이썬을 인식해서 이렇게 알록달록하게 텍스트들을 구분해낼 수 있을 겁니다.
그리고 우리는 OpenCV라는 패키지와 numpy라는 패키지를 추가로 설치해주어야 합니다.
이 때, pip이라는 명령어를 사용합니다.
일단 명령어를 쳐야하니 터미널 창을 열어봅니다.
터미널 창은 하단 부분에서 디버그 콘솔 오른쪽에 위치하고 있습니다.
이 때, 위의 터미널 설정 부분이 cmd여야 합니다.
현재 cmd가 되어있지 않다면 설정해 주어야 해요.
터미널 CMD설정
vscode에서 F1을 누르면 위와같은 창이 뜨는데 여기서 저 파란창의 Terminal: Select Default Profile을 검색해서 찾은 다음 클릭해주세요. 그러면 cmd로 터미널이 설정될겁니다!
이제 패키지들을 사용할 폴더에 깔아주기 전에 그 폴더 안으로 들어야됩니다.
cd '들어갈 폴더의 경로' 를 치면 그 폴더안으로 들어갑니다.
cd.. 을 치면 폴더의 상위폴더로 돌아갑니다.
저는 c드라이브에 workspace라는 폴더에서 작업을 할 것이기 때문에 C:\workspace로 들어갔습니다.
패키지 설치
이제 패키지들을 설치해주세요!
pip install opencv-python |
pip install numpy |
오류 발생 시
혹시 pip명령어를 사용할 수 없다고 오류가 발생한다면, 아래의 링크로 들어가서 참고해주세요!
제가 설명하면 글이 너무 길어질 것 같네요
설치 확인 테스트
설치하시는데 성공했다면 ,
폴더에서 파일 생성 아이콘을 클릭해서 "원하는 파일이름".py 라는 파일을 만듭니다.
import cv2print(cv2.__version__) |
위의 코드를 칩니다. OpenCV의 버전을 확인하는 코드에요.
그리고 f5 또는 run(실행)으로 들어가서 디버깅시작을 눌러보세요!
그러면 하단의 터미널창에 이렇게 버전이 뜬다면, OpenCV가 성공적으로 설치가 된 것입니다.
그럼 이로써 환경 설정은 끝이 났습니다.
마지막 테스트
import numpy as np #numpy패키지를 사용하기 위해 import합니다.
import cv2 #OpenCV를 사용하기 위해 import합니다.
cap = cv2.VideoCapture(0) #비디오 캡쳐 객체를 생성합니다. 숫자는 어떤 카메라를 사용하는가 입니다. 1개만 부착되어 있으##면 0, 2개 이상이면 첫 웹캠은 0, 두번째 웹캠은 1 입니다.
cap.set(3,640) #화면비율을 640x480으로 합니다.
cap.set(4,480)
while(True): #항상 참, 계속 유지 무한반복을 사용할 때 사용
ret, frame = cap.read() #비디오의 한 프레임씩 읽습니다. 제대로 프레임을 읽으면 ret값이 True, 실패하면 False가 나타난다.
# frame에 읽은 프레임이 나옵니다 cv2.imshow('frame', frame) #frame이라는 이름으로 동영상을 출력합니다.
k = cv2.waitKey(30) & 0xff
if k == 27: # 만약, 화면 안에서 ESC를 누르면 종료합니다.
break
cap.release()
cv2.destroyAllWindows() #OpenCV window를 닫습니다.
|
그래도 웹캠으로 화면이 나오는 것을 한번쯤은 확인하는 것이 좋겠지요!
위의 코드를 준비해주세요. 그리고 실행합니다!
코드에 대한 내용들은 #(주석)으로 처리를 해놓았습니다.
다음 시간에 더 설명하기로 하겠습니다! 글이 너무 길어지네요!
그럼 이렇게 frame이라는 이름으로 동영상이 열린다면 성공입니다. 짜잔
카페에서 실행하느라 최대한 가려서 찍었습니다. 하하하
진짜진짜 마무리
환경설정은 여기가 진짜진짜 끝입니다.
하지만 제가 모든 분들의 환경을 모르니 때때로 에러가 생기실 수도 있어요.
그러면 제 에러페이지나 검색해보면 다른 분들이 잘 설명을 해놓았더라고요!
그럼 다음 포스팅에서 뵙겠습니다! 빠이!
'AutoDriving > OpenCV' 카테고리의 다른 글
OpenCV프로젝트 - OpenCV 기본 함수 사용법 및 소개 (0) | 2022.06.09 |
---|