[ch02] Python 기초 사용법 - 영상의 생성, 복사, 부분 영상 추출
지정한 크기로 새 영상 생성하기
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: 각 차원의 크기. (h, w) 또는 (h, w, 3)
- dtype: 원소의 데이터 타입. 일반적인 영상이면 numpy.uint8 지정
- arr: 생성된 영상(numpy.ndarray)
- 참고사항
- numpy.empty() 함수는 임의의 값으로 초기화된 배열을 생성
- numpy.zeros() 함수는 0으로 초기화된 배열을 생성
- numpy.ones() 함수는 1로 초기화된 배열을 생성
- numpy.full() 함수는 fill_value로 초기화된 배열을 생성
영상의 생성 예제 코드
img1 = np.empty((480, 640), dtype=np.uint8) # grayscale image
img2 = np.zeros((480, 640, 3), dtype=np.uint8) # color image
img3 = np.ones((480, 640), dtype=np.unit8) * 255 # white
img4 = np.full((480, 640, 3), (0, 255, 255), dtype=np.uint8) # yellow
영상의 참조 및 복사 예제 코드
img1 = cv2.imread('HappyFish.jpg')
img2 = img1 # img1 데이터를 참조
img3 = img1.copy() # 복사본 새로 생성
img1 = cv2.imread('HappyFish.jpg')
img2 = img1
img3 = img1.copy()
img1.fill(255)
# 데이터를 참조하는 변수(img1, img2)끼리는 데이터를 공유한다.
부분 영상 추출
img1 = cv2.imread('HappyFish.jpg')
img2 = img1[40:120, 30:150] # numpy.ndarray의 슬라이싱
img3 = img1[40:120, 30:150].copy()
img2.fill(0) # img1과 참조하는 관계이므로 img1에도 영향을 미친다.
img1 = cv2.imread('HappyFish.jpg')
img2 = img1[40:120, 30:150]
img3 = img1[40:120, 30:150].copy()
cv2.circle(img2, (45, 20), 15, (0, 0, 0), -1) # 원 그리기
Author And Source
이 문제에 관하여([ch02] Python 기초 사용법 - 영상의 생성, 복사, 부분 영상 추출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@redorangeyellowy/temp저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)