import cv2
import matplotlib.pyplot as plt
imge = cv2.imread('小猫咪.jpg')
top_size,bottom_size,left_size,right_size=(50,50,50,50) #一张图是矩阵 所以得四面扩充
#复制法 也就是复制最边缘像素
replicate=cv2.copyMakeBorder(imge,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_REPLICATE)
#反射法 对感兴趣的图像中的像素在两边进行复制 例如 fedcba😊abcdefgh😊hgfedcb
replicate2=cv2.copyMakeBorder(imge,top_size,bottom_size,left_size,right_size,cv2.BORDER_REFLECT)
#反射法 也就是以边界像素为轴 ,对称 hgfedcb😊abcdefgh😊gfedcba
replicate101=cv2.copyMakeBorder(imge,top_size,bottom_size,left_size,right_size,cv2.BORDER_REFLECT_101)
#外包装法 CDEFGH ABCDEFGH ABCDEFG
wrap=cv2.copyMakeBorder(imge,top_size,bottom_size,left_size,right_size,cv2.BORDER_WRAP)
#常量法 常数填充
constent=cv2.copyMakeBorder(imge,top_size,bottom_size,left_size,right_size,cv2.BORDER_CONSTANT,value=0)
#plt.subplot(231)
plt.imshow('Gray',imge),plt.title('Original')
plt.subplot(232),plt.imshow(replicate,'Gray'),plt.title('Replace')
plt.subplot(233),plt.imshow(replicate2,'Gray'),plt.title('Reflect')
plt.subplot(234),plt.imshow(replicate101,'Gray'),plt.title('Reflect_101')
plt.subplot(235),plt.imshow(wrap,'Gray'),plt.title('Wrap')
plt.subplot(236),plt.imshow(constent,'Gray'),plt.title('Constent')
plt.show()
第二章:图像基本操作 4-边界填充
最新推荐文章于 2024-01-05 00:57:09 发布