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

图片做网站汕头自动seo

图片做网站,汕头自动seo,周口市住房和城乡建设局网站,360网站外链建设文章目录 简介函数原型代码示例参考资料 简介 做深度学习图像数据集时,有时候需要调整一张图片的长和宽。如果直接使用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.hkea.cn/news/406958/

相关文章:

  • 网站建设收费标准策划百度推广关键词越多越好吗
  • 网站怎么做更新吗如何建立网页
  • 国外建设工程招聘信息网站tool站长工具
  • 专业做相册书的网站电商网站建设制作
  • 银川网站开发公司电话东莞网
  • 环境保护局网站管理制度建设百度指数的主要功能有
  • 安装wordpress提示500错误关键词优化的策略有哪些
  • 企业网站建设公司排名深圳高端seo公司助力企业
  • 做网站套餐网站seo
  • 网站上的代码网页怎么做的下载百度软件
  • 网站功能模块建设搜狗推广
  • 网站做推广有用吗网站页面设计
  • 做简报的网站广州搜发网络科技有限公司
  • 南乐县住房和城乡建设局网站制作网站的步骤是什么
  • 金华做网站最专业的公司搜易网提供的技术服务
  • wordpress适合门户网站吗怎么营销自己的产品
  • 常用的网站类型有哪些seo优化专员编辑
  • 网站专题框架怎么做海阳seo排名
  • 手机网站代码下载黄页网站推广服务
  • 做网站前端多少钱在线bt种子
  • wordpress+模版+推荐专业网站seo推广
  • 浦项建设公司员工网站2023免费推广入口
  • 如何查询某个网站的设计公司最新推广注册app拿佣金
  • 八宝山做网站公司打广告
  • wordpress vip查看插件南宁seo费用服务
  • 建站之星模板怎么设置手机如何做网站
  • 上海公司网站制作价格西安百度关键词排名服务
  • 长沙网页制作开发公司aso优化方案
  • 深圳罗湖网站制作成人电脑基础培训班
  • 无锡网站制作咨询深圳网站设计十年乐云seo