일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 컴퓨터구조
- html/css
- 중학1-1
- 컴퓨터비전
- 자바 실습
- JSP/Servlet
- 딥러닝
- 데이터베이스
- 코딩테스트
- 운영체제
- pandas
- 텍스트마이닝
- 데이터입출력구현
- 혼공머신
- 영어공부
- 파이썬
- 연습문제
- SQL
- CSS
- 데이터분석
- 정보처리기사필기
- 정수와유리수
- numpy/pandas
- CNN
- 정보처리기사실기
- 자바
- 파이썬라이브러리
- 중학수학
- 머신러닝
- C++
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
OpenCV로 시작하는 컴퓨터 비전 1 - OpenCV 소개 및 프로그래밍 킥오프 1 : Anaconda Prompt에서 설치하기 본문
OpenCV로 시작하는 컴퓨터 비전 1 - OpenCV 소개 및 프로그래밍 킥오프 1 : Anaconda Prompt에서 설치하기
huenuri 2024. 11. 7. 04:43이틀 동안은 CSS를 공부하느라 컴퓨터 비전을 공부하지 않았는데 오늘부터 다시 5~6일에 걸쳐 컴퓨터 비전을 공부해볼 생각이다. 며칠 후에 자격증 시험이 있어 그것도 공부해야 하니 6일쯤 잡는 게 나을 것 같다. 과연 내가 잘할 수 있을지 걱정이 되기도 한다. 하지만 CSS도 잘 했고 머신러닝도 딥러닝도 모두 잘했으니 컴퓨터 비전 역시 잘할 수 있으리라 믿는다. 어제 웹캠도 잘 도착해서 이제 설치만 하면 될 것 같다.
현대 컴퓨터 공학의 두드러진 강점 중의 하나는 양호한 프로그래밍 환경이다. 컴퓨터 비전 프로그래밍도 예외가 아니다. 예전에는 알고리즘을 바닥부터 직접 구현했지만 이제는 함수 호출 한번으로 영상을 처리할 수 있는 시대가 되었다. 그 중심에는 2000년에 탄생한 OpenCV 라이브러리가 있다.
아래 그림은 OpenCV가 제공하는 Canny 함수를 호출함으로써 img 객체에 담겨 있는 원본 영상에서 에지를 추출해 edge 객체에 저장한 예다. 에지 검출이라는 복잡한 과정을 함수 호출 한 번으로 수행했다.
OpenCV의 인터페이스 언어로 C++, 자바. 자바스크립트, 파이썬이 있는데 여기서는 파이썬을 사용한다.
OpenCV 소개
OpenCV는 인텔 사에서 만들어 공개한 컴퓨터 비전 라이브러리다. 가장 중요한 목적은 바퀴를 다시 발명하는 쓸데없는 노력을 방지하는 것이다.
개요와 간략한 역사
OpenCV를 구성하는 함수와 클래스는 C와 C++ 언어로 개발했으며, 전체 코드는 180만 라인 이상이다. OpenCV는 교차 플랫폼을 지원하기 때문에 개발한 프로그램을 어떤 운영체제 플랫폼에서든 실행할 수 있다. 교육 목적과 상업 목적 모두 무료로 사용할 수 있다.
OpenCV의 역사를 간략하게 살표보면 다음과 같다. 우리나라는 2005년에 커뮤니티 사이트가 개설되어 활발히 운영되고 있다.
공식 사이트
OpenCV를 지원하는 사이트는 다음과 같다.
OpenCV 공식 홈페이지
Q&A, 포럼, 강좌 등에 대한 정 보를 제공하며, 매뉴얼 사이트와 깃허브 사이트도 링크를 제공한다.
매뉴얼 사이트
프로그래밍할 때 가장 많이 도움을 받는 사이트다. 앞쪽 화면에서는 표시한 곳의 버전을 선택한다. 난 가장 최신 버전으로 링크를 걸어보았다.
OpenCV 라이브러리는 기능에 따라 여러 모듈로 나뉘어 지는데, core, imgproc 등 15개 주요 모듈이 있다. 함수나 클래스의 도움말을 찾으며련 검색 창을 통하면 된다.
이 책에서는 파이썬으로 코딩하기 때문에 빨간색으로 표시한 메뉴가 중요하다.
깃허브 사이트
OpenCV의 버전업은 깃허브를 통해 진행된다. 새로운 함수를 개발했거나 기존 함수를 개선하고 OpenCV에 반영하고자 하면 이 사이트에서 풀리퀘스크를 하면 된다. 관리자가 승인하면 공식적으로 반영된다.
대한민국 OpenCV 사이트
OpenCV와 컴퓨터 비전에 대한 최신 정보를 한글로 읽을 수 있다.
프로그래밍 킥오프
프로그래밍을 시작하려면 환경을 갖추어야 한다. 10~20분이면 필요한 소프트웨어를 설치할 수 있다.
파이썬 설치하기
파이썬을 사용하려면 다음 세 가지 소프트웨어를 설치해야 한다.
파이썬 컴파일러
고급 언어인 파이썬으로 작성된 소스 프로그램을 컴퓨터가 실행할 수 있는 기계어 프로그램으로 번역하는 프로그램이다.
통합 개발 환경
프로그래밍할 때 프로그램 편집, 관리, 번역, 디버깅 등의 일련의 작업을 통합적으로 지원하는 프로그램이다. 파이썬을 슬치하면 기본적으로 따라오는 원시적인 IDLE과 따로 설치해야 사용할 수 있는 고급스러운 스파이더와 파이참이 있다. 여기서는 파이참을 사용한다.
라이브러리
특정한 일을 지원하는 변수, 함수, 클래스의 뭉치다. 이 책에서는 컴퓨터 비전을 지원하는 OpenCV와 딥러닝을 지원하는 텐서플로 라이브러리를 가장 중요하게 사용한다. 이외에도 다차원 배열을 지원하는 numpy, 그래프를 그리는 matplotlib 등의 라이브러리를 사용한다.
이 소프트웨어들을 설치할 때는 주로 아나콘다를 활용한다. 아나콘다는 필요한 소프트웨어 대부분을 한꺼번에 설치해줄 뿐 아니라 가상 환경을 제공한다. 파이썬은 빠르게 성장하는 언어이기 때문에 새로운 라이브러리가 하루에도 수십 개씩 공개되고 기존 라이브러리 버전업도 빠르다. 때문에 이전에 개발해 놓은 프로그램이 새로운 환경에서 오작동할 가능성이 있다.
이런 위험을 피하는 좋은 방법은 프로젝트를 새로 시작할 때 새 가상 환경을 만들고 그 속에서 일관성 있게 프로그램을 개발하는 것이다. 여기서는 아나콘다는 활용해 cv라는 가상 환경을 만들고 모든 프로그래밍을 그 속에서 수행한다.
다음 절차에 따라 아나콘다를 설치하고 환경을 구축해보자.
1. 아나콘다 설치하기
난 이미 설치했으므로 이 부분은 건너뛴다. 이 중 Anaconda Prompt를 자주 사용하니 알아두기로 하자.
2. 가상 환경 생성하기
가상 환경도 이미 만들었을 것 같다.
이것이 가상 환경이다. 가상 환경으로 이동하려면 conda activate cv 명령어를 입력한다. 프롬프트가 (cv) C:/>로 바뀌면 cv 가상 환경 속으로 들어온 것이다.
가상 환경으로 이동했더니 cv 가상환경은 존재하지 않는다고 뜬다. 난 있는줄 알았는데 오렌지와 플라스크 그리고 기본으로 제공되는 가상 환경만 있었다. 설치를 한번 진행해볼 것이다.
1) 가상 환경 생성
여기서 y를 누르면 cv라는 이름의 새로운 가상 환경이 생성된다.
이제 cv는 설치가 되었고 가상 환경으로 이동해보겠다.
2) 가상 환경 이동하기
조금 전에는 이 명령어를 입력했을 때 찾을 수 없다고 떴는데 이제 잘 된다. PC 버전으로는 처음 설치하는 거니 그랬던 것 같다. 스파이더도 설치해보겠다.
3) 스파이더 설치하기
굉장히 많은 것들을 다운받고 있다. y를 누르면 설치가 시작된다. 근데 다운 받는데 시간이 걸린다. 아나콘다 네비게이터로 하면 더 쉽게 할 수 있는데 수업 시간에는 스파이더라는 프로그램을 사용하지 않았던 것 같다. 이걸 설치하려면 아나콘다 프롬프트를 사용해야 한다.
4) OpenCV 설치하기
OpenCV도 설치했고 이제 텐서플로를 설치할 차례이다. 텐서플로는 사실 주피터 노트북이나 코랩에서 임포트해서 많이 사용했기에 설치가 필요할지 의문이 들었다. 하지만 여기서 사용하는 건 사용할 때만 잠시 빌려쓰는 것이고, 설치를 한다는 건 내 컴퓨터에 영구적으로 소장하는 것이다.
이렇게 설치하게 되면 인터넷 없이도 사용할 수 있으며, 데이터 접근이 빠르고 손쉽다. 특히 프로젝트마다 TensorFlow 버전이 달라야 하는 경우 가상환경이 유용하다.
5) 텐서플로 설치하기
다운 받는데 시간이 좀 걸렸지만 잘 받았다. 이제 설치는 모두 되었고 지금까지 cv에 설치된 목록을 볼 것이다.
6) cv 가상환경에 설치된 목록 보기
굉장히 많아서 다 캡쳐할 수는 없고 일부만 확인해보았다.
학습을 마치고
설치하는데 무려 1시간이 넘게 걸렸다. 원래 이런 설정하는 작업이 어렵고 시간을 많이 잡아먹는다. 컴퓨터 비전 수업 시간에도 설치하느라 하루를 보내기도 했었다.
한 가지 설치가 남아있는데 그건 다음 포스트에서 이어서 진행해보겠다.
'인공지능 > 컴퓨터 비전' 카테고리의 다른 글
웹캠 설치 후 티처블 머신 실습해보기 - 안 풀렸던 문제 다시 풀어보기 (3) | 2024.11.07 |
---|---|
OpenCV로 시작하는 컴퓨터 비전 2 - 프로그래밍 킥오프 2 : OpenCV 설치 및 설치한 프로그램 사용해보기 (6) | 2024.11.07 |
인간의 시각을 흉내 내는 컴퓨터 비전 7 - 연습문제 풀기 3 : 문제 7~10번 (1) | 2024.11.04 |
인간의 시각을 흉내 내는 컴퓨터 비전 6 - 연습문제 풀기 2 : 문제 4~6번 (0) | 2024.11.04 |
인간의 시각을 흉내 내는 컴퓨터 비전 5 - 연습문제 풀기 1 : 문제 1~3번 (1) | 2024.11.04 |