cv2.copyMakeBorder

이미지에 convolution 연산이 포함 된 경우 0 padding이 자주 사용됩니다. 0 padding은 특별한 edge padding입니다. copyMakeBorder () 함수는 opencv-python 라이브러리에서 사용됩니다.이 함수에는 다양한 padding 메서드가 있습니다.

원본 이미지 :

Opencv-python 가장자리 채우기 기능 cv2.copyMakeBorder 사용 및 효과 display_first 그림

cv2.BORDER_REPLICATE로 채우고 마지막 픽셀, 코드 및 효과를 반복합니다.

img2 = cv2.copyMakeBorder(img1,200,200,200,200,cv2.BORDER_REPLICATE)
#调整绘制尺寸
plt.figure(figsize=(5,5))
plt.imshow(img2,interpolation='bicubic')

Opencv-python 가장자리 채우기 기능 cv2.copyMakeBorder 사용 및 효과 display_the 두 번째 그림

cv2.BORDER_REFLECT를 사용하여 경계 요소의 미러 이미지를 채 웁니다.

img3 = cv2.copyMakeBorder(img1,200,200,200,200,cv2.BORDER_REFLECT)

Opencv-python 가장자리 채우기 기능 cv2.copyMakeBorder 사용 및 효과 display_ 第 3 图片

cv2.BORDER_REFLECT와 유사하게 cv2.BORDER_REFLECT_101로 채 웁니다.

img3 = cv2.copyMakeBorder(img1,200,200,200,200,cv2.BORDER_REFLECT_101)

 

Opencv-python 가장자리 채우기 기능 cv2.copyMakeBorder 사용 및 효과 display_the 4th picture

육안으로는 큰 차이를 볼 수 없지만 두 이미지의 차이는 여전히 차이가 있음을 보여줍니다.

plt.imshow(img4-img3,interpolation='bicubic')

Opencv-python 가장자리 채우기 기능 cv2.copyMakeBorder 사용 및 효과 display_the 5th picture

구체적인 차이점은 무엇입니까? 알면 알려주세요.

cv2.BORDER_WRAP로 채우십시오.

img5 = cv2.copyMakeBorder(img1,200,200,200,200,cv2.BORDER_WRAP)

Opencv-python 가장자리 채우기 기능 cv2.copyMakeBorder 사용 및 효과 display_the 6th picture

cv2.BORDER_CONSTANT로 채우고 지정된 값으로 경계를 추가합니다. 기본값은 검은 색입니다.

img6 = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_CONSTANT)
#添加红色边界
#RED = [255,0,0]
#img6 = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_CONSTANT,value=RED)

Opencv-python 가장자리 채우기 기능 cv2.copyMakeBorder 사용 및 효과 display_the 7th picture

다음 3 줄의 코드는 지정된 빨간색 테두리를 추가하는 것입니다.

 

Matlab, Python 및 C ++ 프로그래밍, 머신 러닝, 컴퓨터 비전 이론 구현 및지도, 학부 및 석사 학위, 소금에 절인 생선 거래, 전문 답변을 알아보십시오. QQ 번호 757160542에 문의하십시오.

 

 

추천

출처blog.csdn.net/weixin_36670529/article/details/114055346