怎么扩充图像的边界(python-opencv)?
来源:网络收集 点击: 时间:2024-03-04【导读】:
在对图片进行卷积处理的时候,如果卷积模版(卷积内核)过大,且不对原图的边界进行扩充,会导致处理之后得到的图片尺寸变的很小,也就是严重失真。而扩充边界有多种方法,本文就介绍一下这些填充方法。工具/原料more电脑python3+方法/步骤1/6分步阅读
2/6
3/6
4/6
5/6
6/6
注意事项
这是原始图像。

根据图像的边界的像素值,向外扩充图片,每个方向扩充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=)

a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_WRAP)
这是干什么?我有点糊涂。

一般的卷积模版,都是3*3或者5*5的,这样每个方向只需要填充1个或2个像素就可以了。
PYTHON编程语言图像处理OPENCV版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_238106.html
上一篇:百度知道APP中怎样修改自己的回答
下一篇:oppo手机无线充电怎么设置