cv.copyMakeBorder(img,top, bottom, left, right ,borderType)
参数:
- img: 需要填充的图像
- top: 上边界填充像素
- bottom: 下边界填充像素
- left: 左边界填充像素
- right: 右边界填充像素
- borderType: 图像填充的方法
原图:
复制法
复制法: 复制最边缘像素.
例子:
# 读取图片
img = cv2.imread("picture2.jpg")
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# Replicate (复制法)
replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)
cv2.imshow("replicate", replicate)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果:
反射法
反射法, 对图像边缘像素进行反射.
例子:
# 读取图片
img = cv2.imread("picture2.jpg")
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# Reflect (反射法)
reflect = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT)
cv2.imshow("reflect", reflect)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果:
反射法 101
反射法 101, 以边界为中心点, 对图像边缘像素进行反射.
代码:
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# Reflect101 (反射法101)
reflect101 = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT_101)
cv2.imshow("reflect101", reflect101)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果:
注: BORDER_REFLECT_101
和 BORDER_REFLECT
的区别是, BORDER_REFLECT_101
以边界为中心反射扩充.
外包法
外包法: 用相反位置对图片进行包裹.
代码:
# 读取图片
img = cv2.imread("picture2.jpg")
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
![img](https://img-blog.csdnimg.cn/img_convert/ba83cd13fa7f2fc2144e88c8254f6761.png)
![img](https://img-blog.csdnimg.cn/img_convert/23fe2ffb6351012b6d741307c84613c3.png)
![img](https://img-blog.csdnimg.cn/img_convert/8a0c6ad05f9b517c074d9adab4aae065.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**