이 책은 컴퓨터 비전의 기초 이론과 함께 OpenCV에서 가장 널리 사용되는 기능들을 자세히 소개하고, 이미지 데이터에서 의미 있는 정보를 추출하는 방법을 다룬다. 이 책은 C#과 파이썬 두 언어로 구성되어 있어 두 언어 간의 비교도 가능하며, C#이나 파이썬 개발자들이 쉽게 OpenCV를 습득할 수 있는 영상 처리 입문서이다.
이 책에서는 OpenCV를 폭넓게 활용할 수 있도록 기초 컴퓨터 비전 알고리즘부터 시작해 머신러닝과 딥러닝까지 포괄적으로 다룬다. 지도 학습 및 비지도 학습의 전반에 대한 내용과 함께 이미지 분류, 객체 검출, 세그먼테이션, 얼굴 검출, 랜드마크 검출, 스타일 전이 등 다양한 딥러닝 모델을 OpenCV를 활용해 어떻게 적용할 수 있는지에 대한 예시도 포함돼 있다. 이 책은 OpenCV 전반에 대한 내용을 담고 있으며, 실전 예제를 통해 실제 상황에서 어떻게 적용하는지를 보여준다. 각 주제는 직관적이고 구체적인 예시와 함께 다뤄져, 독자들은 이를 통해 개념을 명확히 이해하고 실무에서 활용하는 방법을 배울 수 있다.
Contents
[1부] OpenCV 이론
▣ 1장: 컴퓨터비전의 이해
01. 컴퓨터비전이란?
___컴퓨터비전이란?
___영상 처리의 필요성
___영상 처리의 한계점
___데이터 변형
___이미지 데이터
___OpenCV란?
___OpenCV의 역사
02. 알고리즘 설계
___문제 해결을 위한 선행 조건
___하드웨어와 소프트웨어의 선택
___시스템 설계
___개발 규칙
03. 디지털 이미지 프로세싱
___전처리 알고리즘
___노이즈 및 디노이즈
___특징 및 유사성 검출
04. 영상 처리 분야
___영화 산업
___의료 분야
___이미지 번역
___OpenCV의 활용
05. C# OpenCvSharp 설치
___닷넷 프레임워크 설치
___닷넷 설치
___네이티브 래퍼 설치
___OpenCvSharp 사용하기
___확장 네임스페이스
06. 파이썬 OpenCV 설치
___패키지 매니저 설치
___OpenCV 사용하기
___확장 패키지
▣ 2장: OpenCV 시작하기
01. 이미지 크기
___이미지 크기 속성
___이미지 크기 표현법
02. 정밀도
___비트 표현
___정밀도 표현법
03. 채널
___색상 표현
___채널 표현법
04. 관심 영역
___단일 채널을 사용하는 이유
05. 관심 채널
06. 히스토그램
07. OpenCV 코드 구성 이해
▣ 3장: 데이터 형식과 연산
01. 기본 데이터
___C# OpenCvSharp에서 사용되는 기본 데이터 형식
___파이썬 OpenCV에서 사용되는 기본 데이터 형식
02. Mat 데이터
___조밀 행렬
___희소 행렬
___관심 영역
___관심 채널
03. 넘파이 데이터
___ndarray 클래스
___배열 연산
___행렬 클래스
___관심 영역
___관심 채널
[2부] C# & 파이썬 함수
▣ 4장: 기초 예제
01. 이미지 데이터
___이미지 입력
___이미지 출력
02. 비디오 데이터
___비디오 출력
___카메라 출력
03. 데이터 조작 및 시각화
___이미지 연결
___도형 그리기
___마우스 콜백
___트랙바
04. 데이터 저장
___이미지 저장
___비디오 저장
▣ 5장: 이미지 프로세싱
01. 색상 공간 변환
___HSV 색상 공간
___채널 분리 및 병합
___색상 검출
02. 이진화
___오츠 알고리즘
___삼각형 알고리즘
___적응형 이진화 알고리즘
03. 이미지 연산
___픽셀 연산
___필터링
___푸리에 변환
___고주파 필터
___저주파 필터
___모폴로지 변환
04. 이미지 변환
___이미지 피라미드
___이미지 크기 조절
___이미지 대칭 및 회전
___기하학적 변환
▣ 6장: 이미지 검출
01. 윤곽선 검출
___계층 구조
___데이터 추출
___윤곽선 그리기
___다각형 근사
___윤곽선 정보
02. 특징 검출
___코너 검출
___직선 검출
___원 검출
___QR 코드 검출
03. 특징 매칭
___배경 차분
___템플릿 매칭
___광학 흐름
___키 포인트 매칭
[3부] 실전 예제
▣ 7장: 머신러닝
01. K-평균 군집화 알고리즘
02. K-최근접 이웃 알고리즘
___Fashion-MNIST
___K-최근접 이웃 알고리즘 적용
___실제 데이터 평가
03. 서포트 벡터 머신
___SVM 커널
___SVM 유형
___서포트 벡터 머신 적용
___방향 그레이디언트 히스토그램
04. 심층 신경망
___카페: 이미지 분류(구글넷)
___다크넷: 객체 검출(YOLO)
___텐서플로: 세그먼테이션(Mask R-CNN)
___ONNX: 얼굴 검출 및 랜드마크(YuNet)
▣ 8장: C# - 명함 검출
01. 각도 계산
02. 사각형 검출
03. 사각형 변환
04. 광학 문자 인식(Tesseract)
▣ 9장: 파이썬 - 스타일 전이
01. 인물 세그먼테이션(PP-HumanSeg)
02. 신경망 스타일 전이(Fast Neural Style)
03. 파이토치 모델 변환
04. 스타일 적용
▣ 부록
A 색상 코드표
B Mat 데이터 형식
Author
윤대희
카카오스타일의 Vision&NLP 팀 리더로 데이터 리터러시, 데이터 패브릭, MLOps 등 관련 프로젝트를 진행하고 있다. 머신러닝·딥러닝을 비롯해 데이터 품질 관리, 데이터 통합, 비즈니스 인텔리전스 등 데이터 통합에 관심이 있으며, 기술 공유 및 확장 플러그인 배포 등으로 개인이나 조직이 기술을 보다 쉽게 이용하고 활용할 수 있도록 도움을 주고 있다. 저서로 『파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습』(위키북스, 2023) 등이 있다.
카카오스타일의 Vision&NLP 팀 리더로 데이터 리터러시, 데이터 패브릭, MLOps 등 관련 프로젝트를 진행하고 있다. 머신러닝·딥러닝을 비롯해 데이터 품질 관리, 데이터 통합, 비즈니스 인텔리전스 등 데이터 통합에 관심이 있으며, 기술 공유 및 확장 플러그인 배포 등으로 개인이나 조직이 기술을 보다 쉽게 이용하고 활용할 수 있도록 도움을 주고 있다. 저서로 『파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습』(위키북스, 2023) 등이 있다.