opencv-python扩充图像的边界

前言

有的人脸识别数据集提供的图像是已经紧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)
在这里插入图片描述

原文链接:怎么扩充图像的边界(python-opencv

猜你喜欢

转载自blog.csdn.net/liuweiyuxiang/article/details/86562240