Language - Python(Opencv)

Python Opencv - #4 영상의 생성, 복사, 부분 영상 추출

KimTory 2021. 11. 21. 14:41

▶ 지정한 크기로 새로운 영상 생성

→ 이전 글에서 설명 했듯이 영상의 type은 numpy.ndarray이므로 numpy를 이용한 이미지 생성의 4가지 방법이다.

 

▪ numpy.empty() 함수는 임의의 값으로 초기화된 배열을 생성

▪ numpy.zeros() 함수는 0으로 초기화된 배열을 생성

▪ numpy.ones() 함수는 1로 초기화된 배열을 생성

▪ numpy.full() 함수는 fill_value로 초기화된 배열을 생성

 

numpy 이용한 image 행렬 생성
Result Image

▶ 영상의 참조 및 복사

→ 영상의 참조 및 복사는 Shallow copy와 Deep Copy가 있다.

   (Shallow Copy - 얕은 복사, Deep Copy - 깊은 복사로 개념은 구글링해서 찾으면 충분히 나옵니다.)

copy — 얕은 복사와 깊은 복사 연산 — Python 3.11.0a0 문서  

 

copy — 얕은 복사와 깊은 복사 연산 — Python 3.11.0a0 문서

copy — 얕은 복사와 깊은 복사 연산 소스 코드: Lib/copy.py 파이썬에서 대입문은 객체를 복사하지 않고, 대상과 객체 사이에 바인딩을 만듭니다.가변(mutable) 컬렉션 또는 가변(mutable) 항목들을 포함

docs.python.org

얕은 복사 - 깊은 복사 방식
원본 - 얕은 복사 - 깊은 복사

▶ 영상의 부분 영상 추출

→ 부분 영상을 추출하여 해당 영역의 픽셀 값을 변경

원본 이미지 부분 영역 Crop
원본 - 깊은 복사 - 얕은 복사
img1,2는 깊은 복사 참조 관계를 증명
img2 circle 생성