opencv-python扩充图像的边界

时间:2024-03-25 12:58:27

前言

有的人脸识别数据集提供的图像是已经紧crop过的,我们想重新检测人脸的话,由于没有周围的像素信息,容易导致人脸检测失败,这时候就需要对图像扩边,将图像变得后再进行人脸检测,获得自己想要的crop。

方法

原始图像
opencv-python扩充图像的边界
方法一:
根据图像的边界的像素值,向外扩充图片,每个方向扩充50个像素。
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REPLICATE)
opencv-python扩充图像的边界
方法二:
把靠近边界的50个像素翻折出去(轴对称):
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REFLECT)
opencv-python扩充图像的边界
方法三:
这是另一种折射:
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REFLECT_101)
没看出来有什么区别。
opencv-python扩充图像的边界
方法四:
常数填充:
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_CONSTANT,value=[0,255,0])
opencv-python扩充图像的边界
方法五:
a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_WRAP)
opencv-python扩充图像的边界

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