前言
有的人脸识别数据集提供的图像是已经紧crop过的,我们想重新检测人脸的话,由于没有周围的像素信息,容易导致人脸检测失败,这时候就需要对图像扩边,将图像变得后再进行人脸检测,获得自己想要的crop。
方法
原始图像
方法一:
根据图像的边界的像素值,向外扩充图片,每个方向扩充50个像素。
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REPLICATE)
方法二:
把靠近边界的50个像素翻折出去(轴对称):
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REFLECT)
方法三:
这是另一种折射:
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REFLECT_101)
没看出来有什么区别。
方法四:
常数填充:
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_CONSTANT,value=[0,255,0])
方法五:
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_WRAP)