Transcript Document

컴퓨터 비전
제 1장 컴퓨터 비전 기초
1.1 컴퓨터 비전이란 무엇인가
1.2 컴퓨터 비전의 응용분야
1.3 OpenCV 소개
1.4 OpenCV를 이용한 MFC 프로그래밍
컴퓨터 비전의 목표
• 카메라로부터 촬영된 영상을 분석하여 영
상에 담겨있는 정보를 추출
영상
컴퓨터 비전
장면에 대한 묘사
인간의 눈
홍체 – 빛의 양 조절
망막 – 1억 개 이상의 광수용기로 구성
광수용기 – 빛의 양을 신경 신호로 변환
간상체 – 빛의 강도에 반응
원추체 – 빛의 색상에 반응
전자기파의 파장
라디오파 – 1mm 이상
마이크로파 – 1mm – 1m
적외선 – 750nm – 1mm
가시광선 – 400nm – 760nm
자외선 – 100nm – 380nm
X-레이 – 37.5nm – 0.051nm
세가지 유형의 원추체의 반응
경험적 지식을 이용한 영상 해석의 예
범용 컴퓨터 비전 시스템의 구축이 어려운 이유
1.실 세계는 3D인 반면에 영상은 2D
- 투영되는 과정에서 깊이 정보 손실
2.영상 형성 과정에 많은 외부 요인 작용
- 물체의 표면 재질, 주변 물체의 영향, 주위의
빛, 카메라의 촬영 각도 등
3.영상 해석은 물체에 대한 사전 지식을
필요로 함
4.영상은 데이터 양이 엄청 큼
컴퓨터 비전 시스템의 구성요소
저수준 비전 처리 – 잡음 처리, 화질 개선 작업 수행
중간수준 비전 처리 – 영역 분할 및 특징 추출
고수준 비전 처리 – 영상 해석
컴퓨터 비전의 응용분야
•
•
•
•
•
•
문자 인식
생체 인식
의료 분야
제조 공정 검사
지능형 자동차
영화 및 엔터테인먼트
문자 인식
문서 인식, 번호판 인식, 교통 표지판 인식, 입간판 인식
생체 인식
얼굴 인식, 홍체 인식, 지문 인식
의료 분야
X-선 사진분석, MRI 사진 분석, 성형 모의 시술
제조 공정 검사
PCB 기판 불량 유무 검사, 부품 자동 조립, 공정 자동화 모니터링
지능형 자동차
차선 감지, 자동 주행, 자동 주차, 교통 흐름 통제
영화 및 엔터테인먼트
지능형 영화 편집, 비전 기반 모션 캡쳐,
제스쳐 인식 기반 인터액티브 게임
증강 현실
비전 기술과 그래픽스 기술의 접목
스포츠 분야, 웹 검색 분야, 방송 분야, 의료 분야
컴퓨터 비전과 인접 분야
패턴 인식
영상 처리
컴퓨터 비전
인공 지능
컴퓨터
그래픽스
OpenCV 소개
• 1999년 인텔에서 개발 시작
• 2000년 알파 버전 발표
• 컴퓨터 비전을 위한 공개용 라이브러리
• 500개 이상의 알고리즘 제공
• OpenCV KOREA(www.opencv.co.kr)
OpenCV 헤더 파일
• cv.h - 영상처리와 비전 알고리즘
• ml.h - 통계적 분류 및 군집화
• highgui.h - GUI, 영상/비디오 입출력관련
• cxcore.h - 기본 구조와 알고리즘, XML, 그리기 기능
• cvaux.h - HMM과 스테레오비전 관련 기능
OpenCV 다운로드 사이트
http://sourceforge.net/projects/opencvlibrary/
OpenCV-2.3.1-win-superpack.exe 파일을 다운로드
다운로드 받은 파일
OpenCV 설치(압축해제 경로 설정)
다운로드한 설치파일을 실행하면 압축을 해제할 폴더를 지정
- C드라이브를 지정
압축해제 진행중인 화면
압축해제가 완료된 화면
OpenCV dll 환경 설정
OpenCV dll 파일들의 PATH 설정을 위한 시스템 창 열기
시스템 속성 창 화면
환경 변수 창 화면
새 사용자 변수 창에 PATH 설정
포함 파일의 디렉터리 설정
라이브러리 파일의 디렉터리 설정
프로젝트 추가 종속성 설정
추가 종속성 입력 화면
MFC 프로젝트 생성
MFC 응용 프로그램 마법사 화면
대화상자 기반의 응용 프로그램 생성
생성된 대화상자 기반 프로젝트 화면
도구 상자의 버튼 선택
버튼의 ID와 CAPTION 입력
솔루션 탐색기에서 OpenCV TestDlg.cpp 파일 선택
OpenCV TestDlg.cpp에 헤더 파일 추가
OnBnClickedBtnShowImg() 소스코드 작성
프로젝트 폴더에 입력 영상 복사
OpenCV Test 실행 화면
OpenCV Cam TestDlg.cpp 에 헤더 파일 추가
Cam 영상을 보여주는 소스코드
OpenCV Cam Test 실행 화면