怎么扩充图像的边界(python-opencv)
·
在对图片进行卷积处理的时候,如果卷积模版(卷积内核)过大,且不对原图的边界进行扩充,会导致处理之后得到的图片尺寸变的很小,也就是严重失真。
而扩充边界有多种方法,本文就介绍一下这些填充方法。
-
这是原始图像。
-
根据图像的边界的像素值,向外扩充图片,每个方向扩充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)
这是干什么?我有点糊涂。
更多推荐








所有评论(0)