[OpenCV] 3-4(10.11)

Sooyeon·2023년 10월 11일
0

OpenCV

목록 보기
2/3
post-thumbnail

[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.동영상 저장하기

0개의 댓글