OpenCV Python - 이미지를 정사각형이 되도록 패딩(padding)하는 예제OpenCV/OpenCV 강좌2022. 5. 28. 06:43
Table of Contents
반응형
로드한 이미지를 정사각형 이미지가 되도록 가장자리를 0으로 채워 패딩(padding)하는 OpenCV Python 예제입니다.
최소한 이미지의 최대변 길이 이상을 입력해야 정사각형 이미지로 만들어줍니다. 그 이하인 경우에는 원본 이미지를 그대로 출력합니다.
2022. 3. 6 최초작성
2022. 5. 28 이미지가 큰 경우에도 패딩하도록 수정
640 x 480 이미지를 로드하여 한변의 길이가 640인 정사각형 이미지를 출력하고 있습니다.
import cv2 def padding(img, set_size): try: h,w,c = img.shape except: print('파일을 확인후 다시 시작하세요.') raise if h < w: new_width = set_size new_height = int(new_width * (h/w)) else: new_height = set_size new_width = int(new_height * (w/h)) if max(h, w) < set_size: img = cv2.resize(img, (new_width, new_height), cv2.INTER_CUBIC) else: img = cv2.resize(img, (new_width, new_height), cv2.INTER_AREA) try: h,w,c = img.shape except: print('파일을 확인후 다시 시작하세요.') raise delta_w = set_size - w delta_h = set_size - h top, bottom = delta_h//2, delta_h-(delta_h//2) left, right = delta_w//2, delta_w-(delta_w//2) new_img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=[0, 0, 0]) return new_img img = cv2.imread('Space Tree.jpg') print(img.shape) img = padding(img, 640) cv2.imshow('show', img) cv2.waitKey(0) |
반응형
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
OpenCV Python 그리기 예제 1. OpenCV의 좌표계 (0) | 2023.04.13 |
---|---|
OpenCV 좌표계를 직교 좌표계로 변환하는 Python 코드 (0) | 2023.04.13 |
OpenCV Python - Image Center Crop 예제 (0) | 2022.03.06 |
Python OpenCV에서 이미지 크기 (width, height) 가져오기 (2) | 2021.11.14 |
OpenCV - MSER과 IOU를 사용하여 사각형 검출 (0) | 2021.10.04 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!