내용 |
1일차 정리
- OpenCV(컴퓨터 비전 라이브러리, C++, 파이썬 래핑)
- pip install opencv-python
- 우리는 주피터노트북 이용해서 실습
- 최종 결과는 .py 파일로 만들어야 함
- 이미지 읽기 : cv2.imread()
- 이미지 보여주기 : cv2.imshow("title", img)
- 이미지 저장하기 : cv2.imwrite("파일명.확장자", img)
- 색상공간 변환 : cv2.cvtColor(img, flag)
- 카메라 정보 읽기 : cap = cv2.VideoCaptuer(0)
if(cap.isOpened()) :
ret, frame = cap.read()
frame 넘파이 배열을 처리
- 마우스 이벤트
이벤트 소스 - cv2.setMouseCallback("title", callback함수)
- 키보드 이벤트
waitKey(ms) : ms초 동안 키 입력을 기다림. ms초 동안 키 입력이 안되면 -1을 반환
- 도형 그리기 : line, rectangle, circle, ellipse, polygon, putText
- 이미지 ROI는 넘파이 슬라이싱을 이용
주의사항 : 슬라이싱한 배열을 바꾸면 원본도 같이 바뀐다
- 채널 : BGR순, Channel Last이다. b, g, r = cv2.split(img), 합치는 것은 cv2.merge(b,g,r)
- 두 이미지 합치기 : +, cv2.add(), 블랜딩, 비트연산, seamlessClone()
- 이진화 : thr, bin_img = thresh(img, thr, 255, cv2. THRESH_BINARY)
- 적응적 스레스홀드 : cv2.adaptiveThreshold()
- 히스토그램 : hist = np.zeros(256) # hist[0] ~ hist[255]
- 히스토그램의 영상 처리의 시작점
|