반응형
아래와 같은 이미지가있는 경우 최종 이미지의 전체 높이와 너비는 증가하지만 원본 이미지의 높이와 너비는 중간에 그대로 유지되도록 이미지 주위에 테두리를 추가하려면 어떻게해야합니까?
해결 방법
다음 코드는 원본 이미지의 네면 모두에 10 픽셀 크기의 상수 테두리를 추가합니다.
색상의 경우 이미지의 아래쪽 두 줄의 평균값에서 계산 한 배경의 평균 회색 값을 사용하고 싶다고 가정했습니다. 죄송합니다. 다소 하드 코딩되었지만 일반적인 방법을 보여 주며 필요에 맞게 조정할 수 있습니다.
아래쪽과 오른쪽에 대한 bordersize 값을 0으로 남겨두면 대칭 테두리가 생깁니다.
BORDER_DEFAULT, BORDER_REPLICATE, BORDER_WRAP와 같은 BORDER_TYPE에 대한 다른 값도 가능합니다.
import numpy as np
import cv2
im = cv2.imread('image.jpg')
row, col = im.shape[:2]
bottom = im[row-2:row, 0:col]
mean = cv2.mean(bottom)[0]
bordersize = 10
border = cv2.copyMakeBorder(
im,
top=bordersize,
bottom=bordersize,
left=bordersize,
right=bordersize,
borderType=cv2.BORDER_CONSTANT,
value=[mean, mean, mean]
)
cv2.imshow('image', im)
cv2.imshow('bottom', bottom)
cv2.imshow('border', border)
cv2.waitKey(0)
cv2.destroyAllWindows()
참조 페이지 https://stackoverflow.com/questions/36255654
반응형
'파이썬' 카테고리의 다른 글
| 파이썬 Pandas 데이터 프레임에서 NaN 값이 포함 된 열을 찾는 방법 (0) | 2020.11.07 |
|---|---|
| 파이썬 0으로 나누지 않은 경우 "로그에서 발생한 0으로 나누기" (0) | 2020.11.06 |
| 파이썬 numpy를 사용하여 내림차순으로 정렬하는 방법은 무엇입니까? (0) | 2020.11.06 |
| 파이썬 단 하나의 명령문으로 Python 목록에서 여러 항목 제거 (0) | 2020.11.06 |
| 파이썬 bash 터미널에서 파일을 실행할 때 Matplotlib 플롯이 표시되지 않습니다. (0) | 2020.11.06 |
댓글