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

java做网站的优点nba赛季排名

java做网站的优点,nba赛季排名,开发网站需要多少资金,832贫困地区农副产品网络销售平台文章目录 前言一、原理二、具体的实现 前言 在Python中使用OpenCV进行边界填充(也称为zero padding)是一种常见的图像处理操作,通常用于在图像周围添加额外的像素以便进行卷积或其他操作。下面是使用OpenCV进行边界填充的基本原理和方法 一…

文章目录

  • 前言
  • 一、原理
  • 二、具体的实现


前言

在Python中使用OpenCV进行边界填充(也称为zero padding)是一种常见的图像处理操作,通常用于在图像周围添加额外的像素以便进行卷积或其他操作。下面是使用OpenCV进行边界填充的基本原理和方法

一、原理

边界填充的原理是在图像的周围添加一圈像素,这些像素的值通常设置为0,因此称为zero padding。这样做的目的是为了确保在对图像进行卷积等操作时,边界像素也能够得到正确的处理,而不会出现边界效应导致输出图像尺寸减小的情况。
这怎么理解呢,让我们通过一个简单的例子来说明:
假设我们有一张 5x5 的灰度图像如下所示:
在这里插入图片描述
我们想要对这个图像进行 3x3 的均值滤波,即每个像素的值都取其周围 3x3 区域像素值的平均值。假设我们的卷积核是一个全1的 3x3 矩阵。
进行卷积操作时,我们将卷积核从左上角开始依次移动到图像的每个像素位置,对应位置的输出像素值计算如下:
对于位置(1,1),与卷积核重叠的像素为:
在这里插入图片描述
算这些像素的平均值,得到输出像素值为:(1+2+3+6+7+8+11+12+13) / 9 = 7.444
同样的方法,我们可以得到输出图像中其他位置的像素值。然而,当卷积核与图像边界相交时,由于边界像素周围没有足够的像素可以计算平均值,因此会出现边界效应。在上述例子中,当卷积核位于图像的左上角时,它与图像的左边界和上边界相交,导致无法计算边界像素的周围像素值,因此无法得到正确的输出像素值。
为了解决边界效应,常见的方法之一是通过在图像周围添加额外的像素,即边界填充(zero padding),从而确保卷积核在图像边界处能够正确应用。

二、具体的实现

代码如下(示例):

image = cv2.imread('./img/dog21.png')
image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
# 定义填充参数
top_border = 10
bottom_border = 10
left_border = 10
right_border = 10# 使用常数填充,填充值为0
bordered_image_constant = cv2.copyMakeBorder(image, top_border, bottom_border, left_border, right_border, cv2.BORDER_CONSTANT, value=0)# 使用边界复制
bordered_image_replicate = cv2.copyMakeBorder(image, top_border, bottom_border, left_border, right_border, cv2.BORDER_REPLICATE)# 使用边界反射
bordered_image_reflect = cv2.copyMakeBorder(image, top_border, bottom_border, left_border, right_border, cv2.BORDER_REFLECT)# 使用边界反射101
bordered_image_reflect_101 = cv2.copyMakeBorder(image, top_border, bottom_border, left_border, right_border, cv2.BORDER_REFLECT_101)# 使用边界包裹
bordered_image_wrap = cv2.copyMakeBorder(image, top_border, bottom_border, left_border, right_border, cv2.BORDER_WRAP)# 创建子图
fig, ((ax1, ax2, ax3),(ax4, ax5,ax6)) = plt.subplots(2, 3, figsize=(20, 10), sharex=True, sharey=True)# 显示图像
ax1.imshow(image.copy())
ax1.set_title('original')
ax2.imshow(bordered_image_constant)
ax2.set_title('constant')
ax3.imshow(bordered_image_replicate, cmap='gray')
ax3.set_title('replicate')
ax4.imshow(bordered_image_reflect, cmap='gray')
ax4.set_title('reflect')
ax5.imshow(bordered_image_reflect_101, cmap='gray')
ax5.set_title('reflect_101')
ax6.imshow(bordered_image_wrap, cmap='gray')
ax6.set_title('wrap')
plt.show()

我们通过创建子图的方式显示,我们创建一个2行3列的图片显示,这样方面我们对比,你也可以像之前那样一张张显示也行。
我们首先看下cv2.copyMakeBorder介绍

cv2.copyMakeBorder() 是 OpenCV 库中的一个函数,用于在图像周围创建边框。下面是该函数的参数及其解释:src:要处理的输入图像。
top:在源图像的顶部添加的像素数目。
bottom:在源图像的底部添加的像素数目。
left:在源图像的左侧添加的像素数目。
right:在源图像的右侧添加的像素数目。
borderType:边框类型,可以是以下之一:
cv2.BORDER_CONSTANT:添加一个常量值的边框。此时需要提供一个value参数,用于指定常量值。
cv2.BORDER_REPLICATE:复制源图像的边界像素。
cv2.BORDER_REFLECT:对源图像的边界进行反射,比如:fedcba|abcdefgh|hgfedcb
cv2.BORDER_REFLECT_101:对源图像的边界进行反射,但略微不同,比如:gfedcb|abcdefgh|gfedcba
cv2.BORDER_WRAP:对源图像的边界进行包装,比如:cdefgh|abcdefgh|abcdefg
value(可选):当borderType为cv2.BORDER_CONSTANT时,指定的常量值。
该函数返回一个新的图像,其大小为原始图像加上指定边框大小,并且根据指定的边框类型进行填充。

执行返回如下:
在这里插入图片描述
上面参数中 主要就是borderType参数,
cv2.BORDER_CONSTANT:添加一个常量值的边框。此时需要提供一个value参数,用于指定常量值。这个最好理解,就是给边缘加一个边框 边框颜色就是value的值,如果是0就是黑色。

cv2.BORDER_REPLICATE:这个很好理解,就是边缘像素点向外复制。你可以看上图的第3图片的边缘 就能看出最外层一圈都是一个像素值
如下图
在这里插入图片描述
cv2.BORDER_REFLECT:对源图像的边界进行反射 你可以想象图片外部边缘为轴,把边缘像素对折到外部,如图:我们看底部填充的像素 就是图片最底部像素的一个反射,当然其他区域也是如此。就不一一显示了 。

在这里插入图片描述
cv2.BORDER_REFLECT_101:和上面差不多 只不过他是以边缘像素为轴进行反射 效果如图:
在这里插入图片描述
cv2.BORDER_WRAP:对源图像的边界进行包装,可以结合上面这些复制方法看下 这个复制也很好理解,是:cdefgh|abcdefgh|abcdefg

http://www.15wanjia.com/news/8108.html

相关文章:

  • 卢湾网站开发培训网站流量分析报告
  • 网站建设流程收费seo网站推广费用
  • 在线做网站大概多少钱成都广告公司
  • python学了能干嘛快速排名优化推广价格
  • 登录网站定制2021百度最新收录方法
  • 昆明seo博客南网站建设站长之家查询网站
  • 自己做网站教学视频教程seo兼职招聘
  • 机关网站及新媒体建设实施方案我要推广网
  • 建立旅游网站的目的零基础seo入门教学
  • 网上做图赚钱的网站站长工具同大全站
  • 重庆网站建设 红旗河沟梅州网络推广
  • 网站怎样做外链百度教育app
  • Wordpress 判断url存在关键词优化软件
  • 5星做号宿水软件的网站微商引流推广
  • 怎么做网站站内搜索福州百度关键词优化
  • 免费的网站推荐下载网站如何优化关键词排名
  • 个人做电商网站企业网站有哪些平台
  • 有域名后怎么做网站百度推广账户优化方案
  • 网站通栏广告设计搜索引擎营销的主要方式有哪些?
  • 做网站正规公司百度收录网站要多久
  • 做网站的心得体会app开发多少钱
  • 基层组织建设部 网站招聘网站排名
  • 北京建设工程质量协会网站创建网址快捷方式
  • 太原商城网站建设营销培训方案
  • 创建属于自己的网站网络营销方式都有哪些
  • 松滋网络推广网站排名优化需要多久
  • 公司微信网站制作佛山网站建设技术托管
  • saas建站平台源码廊坊seo推广
  • 无锡网站建设外包优势线上培训课程
  • 先做公众号在做网站推广软件下载