【OpenCV】(四)—— 边界填充

在OpenCV的图像处理中,边界填充主要用于在图像边缘添加额外的像素。这项技术在多种图像处理任务中都有重要的应用,包括但不限于卷积操作、图像缩放、形态学操作等。

opencv中边界填充的主要方法为copyMakeBorder,其函数原型如下:

复制代码
cv2.copyMakeBorder(src, top, bottom, left, right, borderType[, dst[, value]]) → dst

参数说明

  • src:输入图像。

  • top:在图像顶部添加的边界宽度。

  • bottom:在图像底部添加的边界宽度。

  • left:在图像左侧添加的边界宽度。

  • right:在图像右侧添加的边界宽度。

复制代码
  borderType

:边界类型,常见的有:

  • cv2.BORDER_CONSTANT:常数填充(用一个固定的值填充边界)。

  • cv2.BORDER_REFLECT:反射填充(镜像边缘像素)。

  • cv2.BORDER_REFLECT_101cv2.BORDER_DEFAULT:反射填充,但不包括最边缘的像素。

  • cv2.BORDER_REPLICATE:复制边缘像素。

  • cv2.BORDER_WRAP:循环填充(将图像的另一端的像素值复制到边界处)。

  • dst(可选):输出图像,如果未指定,则自动创建。

  • value(可选):当 borderTypecv2.BORDER_CONSTANT 时,用于指定填充的常数值,默认是黑色(0, 0, 0)。

py 复制代码
img = cv2.imread("cat.jpg")
# 填充大小
top_size,bottom_size,left_size,right_size = (50,50,50,50)
# 五种不同的填充方式
replicate = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_WRAP)
constant = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_CONSTANT,value = 0)
py 复制代码
# 导入matplotlib更方便使用子图展示
import matplotlib.pyplot as plt
plt.subplot(231),plt.imshow(img),plt.title('RORGINAL')
plt.subplot(232),plt.imshow(replicate),plt.title('REPLICATE')
plt.subplot(233),plt.imshow(reflect),plt.title('REFELECT')
plt.subplot(234),plt.imshow(reflect101),plt.title('REFELECT_101')
plt.subplot(235),plt.imshow(wrap),plt.title('WRAP')
plt.subplot(236),plt.imshow(constant),plt.title('CONSTANT')

大概观察一下填充的边界结果就能够理解每种填充方法是怎么样的原理:

相关推荐
老刘说AI6 分钟前
SGLang 深度优化: Radix 缓存与复杂任务的极致吞吐
人工智能·神经网络·机器学习·缓存·架构·sglang
一包惆怅的辣条7 分钟前
谈一下怎么写一个一套可复用的用例改写skill架构
自动化测试·人工智能·ai·skill
2601_9583529011 分钟前
语音模组选型:模拟、数字、USB、I²S接口如何取舍?AU-60 同时支持四种接口的硬件方案解析
人工智能·语音识别·dsp模组
清禾无为12 分钟前
直播间还没下播,怎么快速产出短视频素材用于投流?
人工智能
wabs66631 分钟前
关于文献【26ACL三篇最佳论文的具体归属?】
人工智能·文献
科技大视界36 分钟前
TikTok广告素材投放工具:从官方后台到AIGC一体化矩阵构建高效投放矩阵
人工智能·矩阵·aigc
李昊哲小课43 分钟前
FastAPI 猫咖预约系统 API
人工智能·python·fastapi
国服第二切图仔44 分钟前
LabGuide (Pip) 的 【GPASS x 百宝箱】参赛获奖之路
人工智能·语音识别·gpass x 百宝箱·蚂蚁
中科天工1 小时前
数智引领 载誉启航|中科天工亮相第一届包装行业数字化大会,以AI驱动智能工厂从“蓝图”到“标杆”
大数据·人工智能
红色星际1 小时前
跨国车企智驾供应链重新洗牌
人工智能