cv.copyMakeBorder(imwrite opencv)

文章目录参考依据设置边界框参数实例参考依据OpenCV-Python官方教程:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_core/py_basic_ops/py_basic_ops.html设置边界框如果你想给你的图片设置边界框,就像一个相框一样的东西,你就可以使用cv2.copyMake…

大家好,又见面了,我是你们的朋友全栈君。

参考依据

OpenCV-Python官方教程:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_core/py_basic_ops/py_basic_ops.html

设置边界框

如果你想给你的图片设置边界框,就像一个相框一样的东西,你就可以使用cv2.copyMakeBorder()函数。但其在卷积操作、零填充等也得到了应用,并且可以用于一些数据增广操作。

参数

在这里插入图片描述

  1. src : 输入的图片
  2. top, bottom, left, right :相应方向上的边框宽度
  3. borderType:定义要添加边框的类型,它可以是以下的一种:
  • cv2.BORDER_CONSTANT:添加的边界框像素值为常数(需要额外再给定一个参数)
  • cv2.BORDER_REFLECT:添加的边框像素将是边界元素的镜面反射,类似于gfedcb|abcdefgh|gfedcba
  • cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT:和上面类似,但是有一些细微的不同,类似于gfedcb|abcdefgh|gfedcba
  • cv2.BORDER_REPLICATE:使用最边界的像素值代替,类似于aaaaaa|abcdefgh|hhhhhhh
  • cv2.BORDER_WRAP:不知道怎么解释,直接看吧,cdefgh|abcdefgh|abcdefg
  1. value:如果borderType为cv2.BORDER_CONSTANT时需要填充的常数值。

实例

img = cv2.imread('testimg.png')
img = cv2.resize(img,(256,256))
cv2.imshow('origin',img),cv2.waitKey(0),cv2.destroyAllWindows()

replicate = cv2.copyMakeBorder(img,20,20,20,20,cv2.BORDER_REPLICATE)
cv2.imshow('replicate',replicate),cv2.waitKey(0),cv2.destroyAllWindows()

constant = cv2.copyMakeBorder(img,20,20,20,20,cv2.BORDER_CONSTANT,value=(255,255,255))
cv2.imshow('constant',constant),cv2.waitKey(0),cv2.destroyAllWindows()

reflect = cv2.copyMakeBorder(img,20,20,20,20,cv2.BORDER_REFLECT)
cv2.imshow('reflect',reflect),cv2.waitKey(0),cv2.destroyAllWindows()

reflect101 = cv2.copyMakeBorder(img,20,20,20,20,cv2.BORDER_REFLECT_101)
cv2.imshow('reflect101',reflect101),cv2.waitKey(0),cv2.destroyAllWindows()

wrap = cv2.copyMakeBorder(img,20,20,20,20,cv2.BORDER_WRAP)
cv2.imshow('wrap',wrap),cv2.waitKey(0),cv2.destroyAllWindows()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129776.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网线的交叉线和直通线原理

    网线的交叉线和直通线原理转载自 http://yxy73622.blog.163.com/blog/static/1733173742012231114013341/正线(标准568B):两端线序一样,线序是:白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。反线(568A):一端为正线的线序,另一端为:白绿,绿,白橙,蓝,白蓝,橙,白棕,棕。T568A标准连线顺序从左到右依次为:1-绿白、2-绿、3-橙白、4

    2022年6月19日
    30
  • 【c语言】小程序游戏——飞机游戏(一)

    【c语言】小程序游戏——飞机游戏(一)下面来介绍一个简单的游戏,其中用到的c语言知识属于基础内容,所以特别容易上手~~~~~~~飞机游戏~~~~~~~~~首先按照常理我们知道,肯定要在界面上绘制出一个飞机,我们用“*”符号来简单代表就OK。我们知道,在窗口的坐标系原点是在窗口左上角的,…

    2022年5月19日
    36
  • CNN做时间序列预测_lstm时间序列预测_2「建议收藏」

    此数据是1949到1960一共12年,每年12个月的航班乘客数据,一共144个数据,单位是1000。我们使用它来进行LSTM时间序列预测的实验。数据如图所示第一列为时间第二列为数据编写代码头文件importnumpyimportmatplotlib.pyplotaspltfromkeras.modelsimportSequentialfromkeras….

    2022年4月8日
    175
  • Java实现判断闰年

    Java实现判断闰年Java实现闰年判断需求分析:年份如果满足以下两个条件中的其中一个则可将其年份判断位闰年一、能被4整除,但不能被100整除,就是闰年;二、能被400整除,也是闰年;需求实现方案一:使用if的嵌套实现packagecom.qingsu.basis;importjava.util.Scanner;publicclassProcessControl{ publicstaticvoidmain(String[]args){ //判断闰年 //1.能被4整除

    2022年7月17日
    17
  • 大数据在应急管理中的应用[通俗易懂]

    大数据在应急管理中的应用[通俗易懂]随着互联网、社交媒体和人工智能的技术发展和应用普及,大数据在应急管理中发挥的作用将越来越重要,是应急管理未来发展的重要方向之一。应急管理部的成立为中国应急管理的发展提供了政策上的支持,也为发展大数据在中国应急管理中的应用提供了契机。现阶段,理论研究尚无法完全预知大数据在应急管理中的具体应用。但基于对应急管理基本原理的掌握,结合对大数据本质属性的理解和对中国应急管理制度情境的了解,我们可以初步厘清大…

    2022年5月8日
    89
  • 易中天 品三国

    易中天 品三国(一)大江东去观众朋友们大家好,从今天开始我们讲三国。说起三国,我们就会想起著名的赤壁之战,而说起赤壁之战,我们就会想起苏东坡那首著名的《赤壁怀古》——  “大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石崩云,惊涛裂岸,卷起千堆雪。江山如画,一时多少豪杰。  遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,墙橹灰飞烟灭。故国神游,多情应笑我,早生华发。

    2022年6月9日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号