[OpenCV] 3-4
1.OpenCV 기초 사용법 -1
2.OpenCV 기초 사용법 -2
1.OpenCV 기초 사용법 -1
1.영상 데이터 속성과 픽셀 값 참조
- 영상 데이터의 속성
-OpenCV는 영상 데이터를 numpy.ndarray로 표현
-그레이스케일 영상: cv2.CV_8UC1=>numpy.uint8, shape = (h, w)
-컬러 영상: cv2.CV_8UC3->numpy.uint8, shape = (h, w, 3)
2.영상의 생성과 복사
- 새 영상 생성하기
numpy.empty(shape,dtype=float,...)->arr numpy.zeros(shape,dtype=float,...)->arr numpy.ones(shape,dtype=None,...)->arr numpy.full(shape,fill_value,dtype=None,...)->arr
-shape: 각 차원의 크기
-dtype:원소의 데이터 타입
-arr:생성된 영상
-참고사항
numpy.empty() 함수: 임의의 값으로 초기화된 배열을 생성
numpy.zeros() 함수: 0으로 초기화된 배열을 생성
numpy.ones() 함수: 1로 초기화된 배열을 생성
numpy.full() 함수: fill_value로 초기화된 배열을 생성
- 영상의 생성 예제 코드
- 영상의 생성과 복사
3.부분 영상 다루기
- 부분 영상 참조와 복사
- 부분 영상에 대한 처리
4.마스크 연산과 ROI
- 관심 영역 ROI
-영상에서 특정 연산을 수행하고자 하는 임의의 부분 영역- 마스크 연산
-openCV는 일부 함수에 대해 ROI연산을 지원하며, 이때 마스크 영상을 인자로 함께 전달해야 함
-마스크 영상은 cv2.CV_8UC1타입(그레이스케일 영상)
-마스크 영상의 픽셀 값이 0이 아닌 위치에서만 연산이 수행됨
(0또는 255로 구성된 이진 영상을 사용 )
- 마스크 연산과 ROI
cv2.copyTo(src,mask,dst=None) ->dst
-src:입력 영상
-mask:마스크 영상 (0이 아닌 픽셀에 대해서만 복사 연산을 수행)
-dst:출력 영상
만약 src와 크기 및 타입이 같은 dst입력으로 지정하면 dst새로 생성 x 연산
그렇지 않으면 dst를 새로 생성하여 연산을 수행한 후 반환
5.투명한 PNG 파일 합성하기
- 알파 채널이 있는 PNG 파일을 다른 영상에 합성하기
1.OpenCV 기초 사용법 -1
1.OpenCV 그리기 함수
- opencv 그리기 함수
-선,도형,문자열 출력하는 그리기 함수 제공
-선 그리기: 직선,화살표,마커등
-도형 그리기: 사각형, 원,타원, 다각형 등
-문자열 출력- 그리기 함수 사용 시 주의할 점
-그리기 알고리즘을 이용하여 영상의 픽셀 값 자체를 변경
=>원본 영상이 필요하면 복사본을 만들어서 그리기 &출력
-그레이스케일 영상에는 컬러로 그리기 안됨
=>cv2.cvtColor()함수로 BGR컬러 영상으로 변환한 후 그리기 함수 호출
- 직선그리기
- 사각형 그리기
- 원그리기
- 다각형 그리기
- 문자열 출력
2.카메라와 동영상 처리하기(1)
- cv2.VideoCapture 클래스
-OpenCV에서는 카메라와 동영상으로부터 프레임(frame)을 받아오는 작업을 cv2.VideoCapture 클래스 하나로 처리
- 카메라 열기
3.카메라와 동영상 처리하기(2)
4.동영상 저장하기