一. 池化简介

平均池化:将图片按照固定大小网格分割,网格内的像素值取网格内所有像素的平均值。

池化:使用均等大小的网格将图片分割,并求网格内代表值的过程。

池化是卷积神经网络(convolutional neural network)中非常重要的处理方式,能够有效地降低图像的维度。

平均池化定义:


二. 将输入图像用4*4网格做平均池化

import cv2import numpy as np# average poolingdef average_pooling(img, G=4):out = img.copy()H, W, C = img.shapeNh = int(H / G)Nw = int(W / G)for y in range(Nh):for x in range(Nw):for c in range(C):out[G*y:G*(y+1), G*x:G*(x+1), c] = np.mean(out[G*y:G*(y+1), G*x:G*(x+1), c]).astype(np.int)return out# Read imageimg = cv2.imread("../paojie.jpg")# Average Poolingout = average_pooling(img)# Save resultcv2.imwrite("out.jpg", out)cv2.imshow("result", out)cv2.waitKey(0)cv2.destroyAllWindows()

三. 输出结果

4*4平均池化结果

原图


四. 深度学习中的平均池化操作,以pytorch库为例

import cv2import numpy as npimport torchimport torch.nn as nnimg = cv2.imread('../paojie.jpg',0)  #读入灰度图像img = np.array(img,dtype='float32')img = torch.from_numpy(img.reshape(1,1,img.shape[0],img.shape[1]))  # 将灰度图像转换为tensoravgPool = nn.AvgPool2d(4)  #4*4的窗口,步长为4的平均池化img = avgPool(img)img = torch.squeeze(img)  #去掉1的维度img = img.numpy().astype('uint8')  #转换格式,准备输出cv2.imwrite("out.jpg", img)cv2.imshow("result", img)cv2.waitKey(0)cv2.destroyAllWindows()

五. pytorch中的平均池化输出结果( AvgPool2d() 函数 )

AvgPool2d后结果

可以看到,pytorch中 AvgPool2d 函数,平均池化后降低了图像的维度。


六. 参考内容

https://www.cnblogs.com/wojianxin/p/12496509.html

https://www.jianshu.com/p/4a673069bc03

图像平均池化 利用pytorch对图像进行池化相关推荐

  1. android代码查找图像,Android平台上利用opencv进行图像的边沿检测

    原标题:Android平台上利用opencv进行图像的边沿检测 近开始接触opencv for Android,从网上down了图像的边沿检测的代码. 测试图片: 在Android2.3.1模拟器上跑 ...

  2. 数字图像处理:图像平均/加法_OPT小讲堂 ∣ SciSmart图像增强之二值化

    图像二值化(Image Binarization)简单理解就是通过适当的高低阈值将256个亮度等级的图像转换为二值图.本文中提及的二值图像均指灰度值为0(黑色)或255(白色)的图像. 在数字图像处理 ...

  3. 独家 | 在PyTorch中用图像混合(Mixup)增强神经网络(附链接)

    作者:Ta-Ying Cheng翻译:陈之炎校对:车前子本文约2000字,建议阅读5分钟随机混合图像,效果是不是会更好? 标签:神经网络.图像混合 一直以来,在深度学习领域,图像分类是呈指数级增长的课 ...

  4. 用PyTorch实现图像聚类

    作者|Anders Ohrn 编译|VK 来源|Towards Data Science 利用深度卷积神经网络(DCNN)进行监督图像分类是一个成熟的过程.通过预训练模板模型加上微调优化,可以在许多有 ...

  5. Pytorch实现图像风格迁移(一)

    图像风格迁移是图像纹理迁移研究的进一步拓展,可以理解为针对一张风格图像和一张内容图像,通过将风格图像的风格添加到内容图像上,从而对内容图像进行进一步创作,获得具有不同风格的目标图像.基于深度学习网络的 ...

  6. 【动手学深度学习PyTorch版】15 池化层

    上一篇请移步[动手学深度学习PyTorch版]14 卷积层里的多输入多输出通道_水w的博客-CSDN博客 目录 一.池化层 1.1 池化层 ◼池化层原因 ◼ 二维最大池化 1.2 填充.步幅与多个通道 ...

  7. (pytorch-深度学习系列)pytorch卷积层与池化层输出的尺寸的计算公式详解

    pytorch卷积层与池化层输出的尺寸的计算公式详解 要设计卷积神经网络的结构,必须匹配层与层之间的输入与输出的尺寸,这就需要较好的计算输出尺寸 先列出公式: 卷积后,池化后尺寸计算公式: (图像尺寸 ...

  8. 在OpenCV中利用卷积进行图像滤波

    简 介: 本文首先讨论了卷积核的概念,以及如何用于对图像进行滤波.然后通过他们对图像进行数学运算来实现特定的效果,比如平和和锐化.展示了如何在OpenCV中实现2D滤波. 在等同卷积卷积核之后,我们创 ...

  9. c#图像灰度化、灰度反转、二值化

    图像灰度化: 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理.彩色图像中的每个像素的颜色有R.G.B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*2 ...

最新文章

  1. 计算机中丢失UID.MR.DLL,计算机中丢失.dll如何解决 大师来详解
  2. c#与科学计算之一:发掘 C# 特性赋予科学计算项目以威力(转贴)
  3. 从0到1,关于产品冷启动阶段。
  4. 【干货】迅雷产品经理:浅析用户成长体系
  5. STM32驱动LCD原理
  6. 数据创建表 修改列 新增列
  7. 双Y轴echarts
  8. Ubuntu 18.04 美化日记
  9. Sublime Text3:显示/隐藏侧边栏快捷键 修改侧边栏颜色、字体大小
  10. RHEL6基础二十四之RHEL软件包管理③源码安装
  11. 高中计算机会考vb试题,高中信息技术考试vb程序题及答案
  12. 有什么好用的IT资产管理软件
  13. Kubernetes实战[2]: 服务发现机制与Cluster DNS的安装(无CA认证版)
  14. uniapp自定义导航栏与手机状态栏重叠问题
  15. 电视厂商渐进式占领“高清奥运”
  16. 最新 2022 年云原生Kubernetes 高级面试题大全(持续更新中)
  17. 【软考题目】假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。
  18. 【Qt】实现一个简易相册
  19. 《数据结构》实验三:栈和队列实验 (实验报告)
  20. mc服务器怎么修改祭坛的概率,邪术祭坛 (Eldritch Altar)

热门文章

  1. python能做什么-大家都在学的 Python,可以用来干什么?
  2. 智能语音识别究竟是如何实现的?
  3. 亚马逊新专利:Alexa可根据用户的语音识别疾病或抑郁
  4. python模板代码替换_Python - 安全替换字符串模板(safe_substitute) 详细解释
  5. java冒泡排序经典代码_15道经典Java算法题(含代码) 建议收藏
  6. CSS常用选择器简析(带简单案例)
  7. cas5.3 → 连接mysql数据库
  8. python findall函数_Python正则表达式
  9. java物品类_Java:类中的所有东西都是静态的 – 这是合理的吗?
  10. vue使用iframe 子页面调用父页面的方法