Opencv 爲圖像擴邊(填充)
copyMakeBorder(src, top, bottom, left, right, borderType, dst=None, value=None)
- bordersType 填充類型
- cv2.BORDER_CONSTANT cv2.cv2.BORDER_REFLECT cv2.BORDER_REFLECT101 cv2.BORDER_ISOLATED cv2.BORDER_WRAP
- cv2.BORDER_TRANSPARENT cv2.BORDER_REFLECT
import cv2
import numpy as np
from matplotlib import pyplot as plt
BLUE=[255,0,0]
img1=cv2.imread('3.jpg')
expent = 100
replicate = cv2.copyMakeBorder(img1,expent,expent,expent,expent,cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img1,expent,expent,expent,expent,cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img1,expent,expent,expent,expent,cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img1,expent,expent,expent,expent,cv2.BORDER_WRAP)
constant= cv2.copyMakeBorder(img1,expent,expent,expent,expent,cv2.BORDER_CONSTANT,value=BLUE)
#plt.figure(figsize=(500, 500))
plt.subplot(231)
plt.imshow(img1, 'gray')
plt.title('ORIGINAL')
plt.subplot(232)
plt.imshow(replicate, 'gray')
plt.title('REPLICATE')
plt.subplot(233)
plt.imshow(reflect, 'gray')
plt.title('REFLECT')
plt.subplot(234)
plt.imshow(reflect101, 'gray')
plt.title('REFLECT_101')
plt.subplot(235)
plt.imshow(wrap,'gray')
plt.title('WRAP')
plt.subplot(236)
plt.imshow(constant,'gray')
plt.title('CONSTANT')
plt.show()