OpenCV에서 zero-padding을 한 줄로 만드는 방법
초보자이므로 실수가 많이 있다고 생각합니다만, 그 때는 코멘트로 가르쳐 주실 수 있으면 다행입니다.
연구나 바이트로 자주 패딩을 구현합니다만, 매회 pillow나 opencv등에서 어떻게 하는지를 조사해, 한시간 가까이 구현에 사용하고 있었습니다만, 타이틀에도 있듯이 opencv로 1행으로 구현할 수 있는 것이 알았으므로 비망록으로 남깁니다.
cv2.copyMakeBorder()
구체적으로는
cv2.copyMakeBorder()
를 사용합니다.사용법은
output = cv2.copyMakeBorder(src, top, bottom, left, right, borderType, value)
입니다.
-
src
입력 이미지-
top, bottom, left, right
는 각각 이미지의 상하 좌우에 몇 픽셀 공백을 더하는지-
borderType
는 추가할 경계의 종류를 지정하기 위한 플래그로, 소위 padding을 하고 싶은 경우, cv2.BORDER_CONSTANT
를 선택해 주세요.- 그 밖에도
cv2.BORDER_REFLECT, cv2.BORDER_DEFAULT, cv2.BORDER_REPLICATE, cv2.BORDER_WRAP
등이 있습니다만, 조금 패딩과는 다르기 때문에, 이것들은 공식 문서를 참고로 해 주세요.htp://bs. 그래 cs. 푹 빠져. 아 c. jp/sd/메 m r/오야마타/오펜 CV/html/py_개별 ls/py_이/py_바시 c_오 ps/py_바시 c_오 ps. HTML
-
value
는 padding한 부분의 색을 지정합니다. (0,0,0)
그렇다면 검정, (255,255,255)
그렇다면 흰색과 같은 상태입니다.구현 예
import cv2
img = cv2.imread('./fig.png')
img_pad = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_CONSTANT, (0,0,0))
cv2.imwrite('./fig_pad.png', img_pad)
무사히 패딩되어 있습니다.
지금까지 검은 이미지를 만들어 슬라이스로 장소를 매회 생각하면서 붙여 넣은 수고를 생각하면, 놀랍도록 간단하게 할 수 있었습니다.
앞으로 opencv에서이 방법으로 패딩 할 것입니다.
Reference
이 문제에 관하여(OpenCV에서 zero-padding을 한 줄로 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sota0726/items/540d3be3e570cbca644e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)