OpenCV:Basic
OpenCV 기초.
Curriculum
- Python 기초
- NumPy 기초
- cv2.imread/cv2.imwrite 이미지 읽기 및 쓰기
- cv2.imshow 로 윈도우 출력
- cv2.rectangle 같은 OpenCV:Drawing 스킬 학습
- cv2.VideoCapture 사용하여 비디오 읽기 및 윈도우 출력
- cv2.waitKey/cv2.waitKeyEx로 키보드 이벤트 획득
- cv2.VideoWriter 비디오 저장
- cv2.threshold 영상 이진화
- OOP
- 위의 내용을 클래스화
- cv2.selectROI 로 ROI 영역 선택
- NumPy Slice 를 사용한 ROI 영역에 그림 그리기
- cv2.selectROI를 사용하지 않은 ROI 선택기 구현
- cv2.setMouseCallback 마우스로 ROI 선택 후 해당 영역만 cv2.threshold 로 그리기
- 키보드로 cv2.threshold의
threshold
값을 동적으로 전달
- cv2.findContours를 사용한 외곽선 추출 및 cv2.drawContours 으로 그리기
일반적인 영상처리 순서
- cv2.cvtColor를 사용한 Grayscale 색상공간 변화.
- cv2.threshold 영상 이진화
- cv2.erode, cv2.dilate, cv2.morphologyEx확산/축소 모폴로지 연산을 사용한 노이즈 제거
- Image Contours (이미지 윤곽선 추출)
- 또는 cv2.Canny를 사용한 경계선 추출.
- cv2.findContours를 사용한 외곽선 추출 및 cv2.drawContours 으로 그리기
- Hough transform (허프 변환)을 사용한 라인/원 검출
- cv2.approxPolyDP를 사용한 외곽 도형 근사화
- cv2.minAreaRect 최소 회전된 사각형
- Convex hull (컨벡스 헐) - 최외곽선 검출
마지막 과정
- cvtoolkit