OpenCV半小时掌握基本操作之边界填充_python

来源:脚本之家  责任编辑:小易  
目录
概述边界填充复制法反射法反射法 101外包法常量法

【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️边界填充

概述

OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界.

在这里插入图片描述

边界填充

cv2.copyMakeBorder可以帮助我们实现边界填充.

在这里插入图片描述

格式:

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_101BORDER_REFLECT的区别是, BORDER_REFLECT_101以边界为中心反射扩充.

外包法

外包法: 用相反位置对图片进行包裹.

代码:

# 读取图片
img = cv2.imread("picture2.jpg")

# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50

# wrap (外包方法)
wrap = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_WRAP)
cv2.imshow("wrap", wrap)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

常量法

常量法: 用常数值填充. 需要设置一个 value 值,代表填充的颜色.

代码:

# 读取图片
img = cv2.imread("picture2.jpg")

# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50

# constant (常量法)
constant = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_CONSTANT, value=0)
cv2.imshow("constant", constant)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.imwrite("constant.jpg", constant)

调试输出:

在这里插入图片描述

到此这篇关于OpenCV半小时掌握基本操作之边界填充的文章就介绍到这了,更多相关OpenCV边界填充内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:OpenCV半小时掌握基本操作之分水岭算法OpenCV半小时掌握基本操作之傅里叶变换OpenCV半小时掌握基本操作之图像轮廓OpenCV半小时掌握基本操作之直方图OpenCV半小时掌握基本操作之模板匹配OpenCV半小时掌握基本操作之圆圈检测OpenCV半小时掌握基本操作之对象测量

  • 本文相关:
  • python-jenkins模块之folder相关操作介绍
  • matplotlib基础绘图命令之imshow的使用
  • tensorflow深度学习之卷积神经网络cnn
  • python读取android permission文件
  • python读写excel表格的实例代码(简单实用)
  • django media的配置及用法详解
  • 跟老齐学python之永远强大的函数
  • python tcp通信客户端服务端代码实例
  • python 根据相邻关系还原数组的两种方式(单向构造和双向构造)
  • python爬虫中url管理器去重操作实例
  • 为什么OpenCV(python)基本功能报错
  • opencv中的矩阵操作,如何访问矩阵中某个元素
  • opencv分为针对不同操作系统和语言的不同版本吗
  • OPENCV Mat类怎么对像素进行操作啊?
  • 请问各位大牛,opencv2.1如何操作图像矩阵,我是说用Mat这个类...
  • opencv的基本程序
  • opencv怎样对前景的每一帧进行操作?
  • Android 加载OpenCV库之后进行形态学膨胀腐蚀操作,怎么样将...
  • opencv怎样实现ps里色相饱和度的操作
  • opencv中矩阵进行cvInvert (SVD 方法)操作后矩阵的行和列的值...
  • Opencv里的cvDFT是只是实现了基本的傅里叶变换吧,没有实现...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页pythonopencv半小时掌握基本操作之分水岭算法opencv半小时掌握基本操作之傅里叶变换opencv半小时掌握基本操作之图像轮廓opencv半小时掌握基本操作之直方图opencv半小时掌握基本操作之模板匹配opencv半小时掌握基本操作之圆圈检测opencv半小时掌握基本操作之对象测量python-jenkins模块之folder相关操作介绍matplotlib基础绘图命令之imshow的使用tensorflow深度学习之卷积神经网络cnnpython读取android permission文件python读写excel表格的实例代码(简单实用)django media的配置及用法详解跟老齐学python之永远强大的函数python tcp通信客户端服务端代码实例python 根据相邻关系还原数组的两种方式(单向构造和双向构造)python爬虫中url管理器去重操作实例python入门教程 超详细1小时学会pycharm 2020最新永久激活码(附python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 2020年最新激活码(亲测python strip()函数 介绍pycharm 使用心得(一)安装和首python中使用xlrd、xlwt操作excepython 中文乱码问题深入分析python函数装饰器实现方法详解python中pandas对多列进行分组统计的实现python实现去除下载电影和电视剧文件名中python爬虫模拟登录带验证码网站python图像处理pil各模块详细介绍(推荐)python中的time模块与datetime模块用法总python实现图片转字符画django中使用celery完成异步任务的示例代分分钟入门python语言pandas统计重复的列里面的值方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved