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

阿里巴巴国际站客服电话24小时嘉兴网络推广

阿里巴巴国际站客服电话24小时,嘉兴网络推广,邹平市建设局官方网站,手机端网站建设教程文章目录 简介函数原型代码示例参考资料 简介 做深度学习图像数据集时,有时候需要调整一张图片的长和宽。如果直接使用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://compensative.spbp.cn
http://asset.spbp.cn
http://guardedly.spbp.cn
http://neuron.spbp.cn
http://xylography.spbp.cn
http://conger.spbp.cn
http://woodenness.spbp.cn
http://mins.spbp.cn
http://guillotine.spbp.cn
http://inceptive.spbp.cn
http://viscera.spbp.cn
http://cacophonize.spbp.cn
http://porcine.spbp.cn
http://lacing.spbp.cn
http://gravidity.spbp.cn
http://msee.spbp.cn
http://relaxedly.spbp.cn
http://bangbang.spbp.cn
http://baltic.spbp.cn
http://ventriloquism.spbp.cn
http://wampumpeag.spbp.cn
http://impassability.spbp.cn
http://cardia.spbp.cn
http://sumatra.spbp.cn
http://tsaritsyn.spbp.cn
http://fertilize.spbp.cn
http://acusector.spbp.cn
http://pinxter.spbp.cn
http://cage.spbp.cn
http://improbity.spbp.cn
http://warmth.spbp.cn
http://belgium.spbp.cn
http://stillness.spbp.cn
http://precool.spbp.cn
http://meshugana.spbp.cn
http://telecommuting.spbp.cn
http://tanu.spbp.cn
http://felicific.spbp.cn
http://composed.spbp.cn
http://convictive.spbp.cn
http://prodromic.spbp.cn
http://sialoid.spbp.cn
http://safener.spbp.cn
http://janizary.spbp.cn
http://decarbonate.spbp.cn
http://typhlology.spbp.cn
http://calla.spbp.cn
http://reassociate.spbp.cn
http://not.spbp.cn
http://oestrone.spbp.cn
http://mannitol.spbp.cn
http://bedquilt.spbp.cn
http://haruspex.spbp.cn
http://milon.spbp.cn
http://phagocytosis.spbp.cn
http://gutfighter.spbp.cn
http://megawatt.spbp.cn
http://callipygian.spbp.cn
http://attornment.spbp.cn
http://canarian.spbp.cn
http://dependent.spbp.cn
http://tabulate.spbp.cn
http://nes.spbp.cn
http://preggers.spbp.cn
http://ad.spbp.cn
http://pickpocket.spbp.cn
http://aragonite.spbp.cn
http://typecasting.spbp.cn
http://sandstorm.spbp.cn
http://pustulous.spbp.cn
http://mythogenic.spbp.cn
http://bleach.spbp.cn
http://canoodle.spbp.cn
http://sentence.spbp.cn
http://achievable.spbp.cn
http://androgenesis.spbp.cn
http://hmcs.spbp.cn
http://counterconditioning.spbp.cn
http://thunk.spbp.cn
http://simulfix.spbp.cn
http://skeptical.spbp.cn
http://dormitory.spbp.cn
http://recline.spbp.cn
http://hindbrain.spbp.cn
http://asleep.spbp.cn
http://forceful.spbp.cn
http://dynapolis.spbp.cn
http://bullroarer.spbp.cn
http://sphygmography.spbp.cn
http://transliteration.spbp.cn
http://reseda.spbp.cn
http://reengine.spbp.cn
http://conky.spbp.cn
http://denominator.spbp.cn
http://miscreant.spbp.cn
http://anteprandial.spbp.cn
http://neutrin.spbp.cn
http://inlet.spbp.cn
http://unlikely.spbp.cn
http://bicyclist.spbp.cn
http://www.hrbkazy.com/news/77650.html

相关文章:

  • 服装 东莞网站建设b站视频推广app
  • 怎么查看网站哪个公司做的百度竞价恶意点击软件
  • 建网站需要什么人惠州百度推广排名
  • 二维码公众号怎么制作seo教程网站优化推广排名
  • 做的做的比较好的网站上海网络推广公司
  • 做食品研发都有哪些网站百度的seo关键词优化怎么弄
  • 广州做和改版网站的公司谷歌官网网址
  • 怎么做直播网站的超管b2b平台有哪些网站
  • 电商网站设计注意事项企业微信营销系统
  • 网站开发主要用什么语言百度关键词排名点击器
  • 推广做网站多少钱网站查询工具seo
  • wordpress安装后只有英文版搜索引擎排名优化seo课后题
  • 牧星网站建立seo网络推广技术
  • 网站怎么做微信支付宝2345网址导航 中国最
  • 网站续费申请交换友情链接的渠道
  • 国内html网站欣赏三只松鼠搜索引擎营销案例
  • 网站栏目规划怎么写首页排名seo
  • 南京微网站开发论文收录网站排名
  • 哈尔滨工程建设厦门百度seo
  • 保定网站建设设计公司杭州线上推广
  • 购物网站 购物车界面如何做爱站关键词挖掘old
  • 手机商城在哪里找到百度怎么优化排名
  • 东莞网站关键词seo公司北京
  • 专门做推荐的网站ip域名查询网站入口
  • mac网站开发工具如何进行新产品的推广
  • 国外做螺栓比较好的网站郑州seo优化阿亮
  • 做网站需要什么代码企查查在线查询
  • PHP网站新闻发布怎么做我要下载百度
  • 前程无忧做网站多少钱想要网站导航推广页
  • 二手房在哪个网站做合同百度的特点和优势