OpenCV 실전 활용 — 명함인식 만들기
OpenCV 그 이상의 이미지 인식을 위해서는 딥러닝 (CNN — Convolutional Neural Network) 이 필요합니다.
“딥러닝과 CNN을 이용한 이미지 인식” 을 빠르게 잘 배우는 길은 여기로 → https://pg.mycampus.io/?idx=79
명함인식을 구현하는 실전을 통해 Python기반으로 OpenCV를 활용하고 이미지를 처리하는 방법을 배웁니다.
OpenCV는 동일한 이름의 클래스, 메쏘드로 C++, Python 등 여러 언어로 제공되기 때문에, 안드로이드와 iOS에도 적용가능한 이미지 인식 및 처리 기술을 익힐 수 있습니다.
오프라인 세미나를 여러번 진행하며 더욱 개선된 내용을 온라인으로 제공합니다. 명함 인식에 바로 활용할 수 있는 소스 코드와 강의 슬라이드 파일이 제공됩니다.
강의 상세 내용
OpenCV 기초
- 색상추출
- 필터효과
- 객체인식
- 투영변환
- 머신러닝
- OpenCV-Python 소개 및 설치
- Jupyter Notebook 소개 및 설치
OpenCV 실전
- 이미지 읽기, 쓰기 및 표시하기
- 이미지 위에 도형 그리기
- 색상추출 구현하기
- 투영변환 구현하기 (Projection Transformation)
- 이미지에서 텍스트 영역만 찾아내기 구현
명함 인식의 각 단계별 구현
- 사진에서 명함 영역 찾기 — Canny Edge Detection, GaussianBlur(), Canny(), findContours(), approxPolyDP(), …
- 비스듬한 명함을 반듯한 사각형으로 변환하기 — 투영변환 (Projection Transformation), Affine Transformation, Warp Transformation, getAffineTransform(), warpAffine(), getPerspectiveTransform(), warpPerspective(), …
- 다른 조명 밝기의 영향을 제거하기, 사각형 명함 영역에서 텍스트 영역을 찾기 — adaptiveThreshold(), …
- OCR 엔진을 이용하여 글자를 인식하기 — Tesseract활용, Microsoft Oxford 이미지 인식 서비스, MS Cognitive Services연동 및 활용
강의 및 소스코드에서 사용되는 OpenCV 함수들
- cv2.Canny()
cv2.GaussianBlur()
cv2.VideoCapture()
cv2.adaptiveThreshold()
cv2.approxPolyDP()
cv2.arcLength()
cv2.boundingRect()
cv2.boxPoints()
cv2.contourArea()
cv2.convertScaleAbs()
cv2.createTrackbar()
cv2.cvtColor()
cv2.destroyAllWindows()
cv2.dilate()
cv2.drawContours()
cv2.findContours()
cv2.getAffineTransform()
cv2.getPerspectiveTransform()
cv2.getTrackbarPos()
cv2.imread()
cv2.imshow()
cv2.imwrite()
cv2.minAreaRect()
cv2.namedWindow()
cv2.rectangle()
cv2.resize()
cv2.threshold()
cv2.waitKey()
cv2.warpAffine()
cv2.warpPerspective()
OpenCV 관련 상수값 (함수들의 옵션값)
- cv2.ADAPTIVE_THRESH_MEAN_C
cv2.CHAIN_APPROX_SIMPLE
cv2.COLOR_BGR2GRAY
cv2.IMREAD_COLOR
cv2.IMREAD_GRAYSCALE
cv2.RETR_LIST
cv2.RETR_TREE
cv2.THRESH_BINARY
cv2.WINDOW_NORMAL
“OpenCV를 활용하여 명함 인식 만들기” 인터넷 강의로 가기
세미나 하이라이트 동영상
소스의 데모 실행
강의 (세미나) 내용 세미나
‘리멤버’(명함인식) 기술, 당신도 만들 수 있다 !
명함인식 서비스를 개발하려면 아래과 같은 처리 단계를 구현해야 합니다. 각각의 단계를 opencv 기반으로 구현하는 방법을 상세 설명합니다. 실제 동작하는 소스 코드를 제공하여 같이 실습을 하도록 합니다. 이 소스를 기반으로 명함 인식 기술과 유사한 다른 응용 앱들을 개발할 수 있을 것입니다. 그리고 open기반의 이미지 처리 및 인식 개발 과정에서 노하우와 trouble shooting 에 대하여 자유롭게 질의 응답하는 시간을 가질 것입니다.
명함 인식의 처리 단계(이를 위한 알고리즘 및 소스코드 제공)
- 사진에서 명함 영역 찾기
- 비스듬한 명함을 반듯한 사각형으로 변환하기
- 사각형 명함 영역에서 텍스트 영역을 찾기
- 다른 조명 밝기의 영향을 제거하기
- OCR 엔진을 이용하여 글자를 인식하기 (외부 OCR 모듈 및 서비스 활용)
강사 소개
변동남
이미지 처리 및 인식 기반의 스마트폰 앱 서비스를 직접 개발하고 운영한 SW 개발자입니다.
- 미래창조과학부 인재양성 프로그램( SW마에스트)에서 100인 중 최종 인증자 9인 선정 (2016)
- Imagine Cup Korea Finals — World Citizenship 분야 우승 (2015)
- 한양대학교 컴퓨터전공 (2010~)
- 색상추출
세미나 상세 내용
OpenCV 활용 소개
- 색상추출
- 필터효과
- 객체인식
- 투영변환
- 머신러닝
- OpenCV-Python 소개 및 설치
- Jupyter Notebook 소개 및 설치
OpenCV-Python 실전 (명함 인식 기술)
- 이미지 읽기, 쓰기 및 표시하기
- 이미지 위에 도형 그리기
- 색상추출 구현하기
- 얼굴영역 인식 구현하기
- 투영변환 구현하기
- 이미지에서 텍스트 영역만 찾아내기 구현