当前位置: 首页 > news >正文

个人可以做导航网站吗梁山县城市建设局网站

个人可以做导航网站吗,梁山县城市建设局网站,高陵微网站建设,找客户的软件文章目录 简介函数原型代码示例参考资料 简介 做深度学习图像数据集时,有时候需要调整一张图片的长和宽。如果直接使用cv2.resize函数会造成图像扭曲失真,因此我们可以采取填充图像短边的方法解决这个问题。cv2.copyMakeBorder函数提供了相关操作。本篇…

文章目录

  • 简介
  • 函数原型
  • 代码示例
  • 参考资料

简介

做深度学习图像数据集时,有时候需要调整一张图片的长和宽。如果直接使用cv2.resize函数会造成图像扭曲失真,因此我们可以采取填充图像短边的方法解决这个问题。cv2.copyMakeBorder函数提供了相关操作。本篇博客详细介绍了cv2.copyMakeBorder使用方法,并给出了代码示例。🚀🚀🚀

函数原型

def copyMakeBorder(src: Any,top: int,bottom: int,left: int,right: int,borderType: int,dst: Any | None = ...,value: Any = ...
)
参数意义
src输入图像
top图像顶部需要填充的边界宽度(单位:像素)
bottom图像底部需要填充的边界宽度(单位:像素)
left图像左侧需要填充的边界宽度(单位:像素)
right图像右侧需要填充的边界宽度(单位:像素)
borderType填充类型
dst输出图像。Python借口一般不用这个参数。
value常量填充是给定的颜色常量值。[0,255]
填充类型解释
cv2.BORDER_CONSTANT常数填充🚀👍:|oooo|abcd|oooo|
cv2.BORDER_ISOLATED使用黑色像素进行填充,同:cv2.BORDER_CONSTANT类型且value=0
cv2.BORDER_REFLECT从外向内取图像边缘的像素填充:|dcba|abcd|dcba|
cv2.BORDER_REFLECT101反射填充的另一种情况,跳过原图边上的一个像素值:|dcb|abcd|cba|
cv2.BORDER_REFLECT_101cv2.BORDER_REFLECT101
cv2.BORDER_DEFAULTcv2.BORDER_REFLECT101
cv2.BORDER_REPLICATE复制图像最边上的像素进行填充:|aaaa|abcd|dddd|
cv2.BORDER_TRANSPARENT这个类型在新的OpenCV4中已经被取消👎
cv2.BORDER_WRAP在图像对侧从外向内取图像边缘的像素填充:|dcba|abcd|abcd|

代码示例

OpenCV中不同方法对Lenna图片进行扩充边界

import cv2
import matplotlib.pyplot as pltlenna = cv2.imread(filename="Lenna.png", flags=cv2.IMREAD_ANYCOLOR)
lenna_constant = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_CONSTANT, value=0)
lenna_default = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_DEFAULT)
lenna_isolated = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_ISOLATED)
lenna_reflect = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_REFLECT)
lenna_reflect101 = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_REFLECT101)
lenna_reflect_101 = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_REFLECT_101)
lenna_replicate = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_REPLICATE)
lenna_wrap = cv2.copyMakeBorder(src=lena, top=10, bottom=10, left=20, right=30, borderType=cv2.BORDER_WRAP)fig = plt.figure()
ax1 = fig.add_subplot(3, 3, 1)
ax1.axes.xaxis.set_visible(b=False)
ax1.axes.yaxis.set_visible(b=False)
ax1.spines["top"].set_visible(b=False)
ax1.spines["bottom"].set_visible(b=False)
ax1.spines["right"].set_visible(b=False)
ax1.spines["left"].set_visible(b=False)
ax1.set_title(label="original Lenna")
ax1.imshow(cv2.cvtColor(src=lenna, code=cv2.COLOR_BGR2RGB))ax2 = fig.add_subplot(3, 3, 2)
ax2.axes.xaxis.set_visible(b=False)
ax2.axes.yaxis.set_visible(b=False)
ax2.spines["top"].set_visible(b=False)
ax2.spines["bottom"].set_visible(b=False)
ax2.spines["right"].set_visible(b=False)
ax2.spines["left"].set_visible(b=False)
ax2.set_title(label="cv2.BORDER_CONSTANT")
ax2.imshow(cv2.cvtColor(src=lenna_constant, code=cv2.COLOR_BGR2RGB))ax3 = fig.add_subplot(3, 3, 3)
ax3.axes.xaxis.set_visible(b=False)
ax3.axes.yaxis.set_visible(b=False)
ax3.spines["top"].set_visible(b=False)
ax3.spines["bottom"].set_visible(b=False)
ax3.spines["right"].set_visible(b=False)
ax3.spines["left"].set_visible(b=False)
ax3.set_title(label="cv2.BORDER_DEFAULT")
ax3.imshow(cv2.cvtColor(src=lenna_default, code=cv2.COLOR_BGR2RGB))ax4 = fig.add_subplot(3, 3, 4)
ax4.axes.xaxis.set_visible(b=False)
ax4.axes.yaxis.set_visible(b=False)
ax4.spines["top"].set_visible(b=False)
ax4.spines["bottom"].set_visible(b=False)
ax4.spines["right"].set_visible(b=False)
ax4.spines["left"].set_visible(b=False)
ax4.set_title(label="cv2.BORDER_ISOLATED")
ax4.imshow(cv2.cvtColor(src=lenna_isolated, code=cv2.COLOR_BGR2RGB))ax5 = fig.add_subplot(3, 3, 5)
ax5.axes.xaxis.set_visible(b=False)
ax5.axes.yaxis.set_visible(b=False)
ax5.spines["top"].set_visible(b=False)
ax5.spines["bottom"].set_visible(b=False)
ax5.spines["right"].set_visible(b=False)
ax5.spines["left"].set_visible(b=False)
ax5.set_title(label="cv2.BORDER_REFLECT")
ax5.imshow(cv2.cvtColor(src=lenna_reflect, code=cv2.COLOR_BGR2RGB))ax6 = fig.add_subplot(3, 3, 6)
ax6.axes.xaxis.set_visible(b=False)
ax6.axes.yaxis.set_visible(b=False)
ax6.spines["top"].set_visible(b=False)
ax6.spines["bottom"].set_visible(b=False)
ax6.spines["right"].set_visible(b=False)
ax6.spines["left"].set_visible(b=False)
ax6.set_title(label="cv2.BORDER_REFLECT101")
ax6.imshow(cv2.cvtColor(src=lenna_reflect101, code=cv2.COLOR_BGR2RGB))ax7 = fig.add_subplot(3, 3, 7)
ax7.axes.xaxis.set_visible(b=False)
ax7.axes.yaxis.set_visible(b=False)
ax7.spines["top"].set_visible(b=False)
ax7.spines["bottom"].set_visible(b=False)
ax7.spines["right"].set_visible(b=False)
ax7.spines["left"].set_visible(b=False)
ax7.set_title(label="cv2.BORDER_REFLECT_101")
ax7.imshow(cv2.cvtColor(src=lenna_reflect_101, code=cv2.COLOR_BGR2RGB))ax8 = fig.add_subplot(3, 3, 8)
ax8.axes.xaxis.set_visible(b=False)
ax8.axes.yaxis.set_visible(b=False)
ax8.spines["top"].set_visible(b=False)
ax8.spines["bottom"].set_visible(b=False)
ax8.spines["right"].set_visible(b=False)
ax8.spines["left"].set_visible(b=False)
ax8.set_title(label="cv2.BORDER_REPLICATE")
ax8.imshow(cv2.cvtColor(src=lenna_replicate, code=cv2.COLOR_BGR2RGB))ax9 = fig.add_subplot(3, 3, 9)
ax9.axes.xaxis.set_visible(b=False)
ax9.axes.yaxis.set_visible(b=False)
ax9.spines["top"].set_visible(b=False)
ax9.spines["bottom"].set_visible(b=False)
ax9.spines["right"].set_visible(b=False)
ax9.spines["left"].set_visible(b=False)
ax9.set_title(label="cv2.BORDER_WRAP")
ax9.imshow(cv2.cvtColor(src=lenna_wrap, code=cv2.COLOR_BGR2RGB))plt.show()

参考资料

  1. OpenCV文档:Adding borders to your images
  2. CSDN:图像处理作窗口运算时边界的几种扩展方法(详解OpenCV中的参数borderType)
  3. CSDN:【opencv4.3.0教程】11之调整图像边缘(copyMakeBorder 与 borderInterpolate)

收集整理和创作不易, 若有帮助🉑, 请帮忙点赞👍➕收藏❤️, 谢谢!✨✨🚀🚀

http://www.yayakq.cn/news/11627/

相关文章:

  • 做挖机配件销售的网站仙桃网站网站建设
  • 汽车网站正在建设中模板营销策略案例
  • 网站建设有哪些西昌建设工程招聘信息网站
  • 网站显示500错误怎么解决方法支付网站模板
  • wordpress 接收json关键词优化排名易下拉软件
  • 深圳罗湖网站制作wordpress 多用户模式
  • 建设个电影网站多少钱一键logo设计官网
  • wordpress培训类网站响应网站
  • 东莞做网站公司炫酷的企业网站模板免费下载
  • wordpress 存储视频教程长沙网站优化联系方式
  • 常德天鹰建设有限公司网站管理网站模板下载免费下载
  • 开发个网站多少钱网站属性
  • 东莞网站营销公司菏泽网站设计培训
  • 做seo_教你如何选择网站关键词徐东做网站
  • 公司都是自己制作网站河南省工程建设业协会网站
  • 技术支持:淄博网站建设做嗳啪啪 网站
  • 无忧网站建设公司黔东南网站开发
  • 枣庄手机网站开发公司编程课有必要学吗
  • 福州快速网站建设重庆市建筑工程造价信息网
  • 二手的家具哪个网站做的好网站规范化建设
  • 网盘可以做网站空间吗小程序商城服务口碑好
  • 做pc端网站机构ui设计难学么
  • 国贸汽车网站建设网站的电子地图怎么做
  • 室内效果图代做网站电子版个人简历模板
  • 门户网站建设方案目录网页开发人员招聘
  • 网站开发公司 杭州品牌设计网站大全
  • 网站建设呼和浩特淘宝官网首页登录注册
  • 我的网站织梦wordpress
  • 南京门户网站建设网站推广基本预算
  • 网站开发规范有哪些地方网站做的好的