Pooling与马赛克的秘密

这篇具有很好参考价值的文章主要介绍了Pooling与马赛克的秘密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Pooling在中文当中的意思是“池化”,在神经网络当中非常常见,通常用的比较多的一种是Max Pooling,具体操作如下图:

Pooling与马赛克的秘密

  结合图像理解,相信你也会大概明白其中的本意。不过Pooling并不是只可以选取2x2的窗口大小,即便是3x3,5x5等等没问题,步长(Stride)也是一个道理。除了在神经网络方面,Pooling为图片打马赛克也是可以取得不错的效果,结合几个例子看看。

Pooling与马赛克的秘密

  我们可以用Max Pooling先看看效果如何:

Pooling与马赛克的秘密

  Min Pooling和Average Pooling的操作也差不多,只不过把对应的操作函数变了而已。

  Min Pooling:

Pooling与马赛克的秘密

  小动物的皮肤颜色都换了,再看看Average Pooling:

Pooling与马赛克的秘密

  综上来看,Average Pooling似乎更加逼真一些,不过换一张图片可能效果就不一样了。

  以下是Pooling操作的代码:

import cv2
import numpy as np


def average_pooling(img, G=5):
    out = img.copy()

    H, W, C = img.shape
    Nh = H // G
    Nw = 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.int64)

    return out
def max_pooling(img, G=5):
    out = img.copy()

    H, W, C = img.shape
    Nh = H // G
    Nw = 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.max(out[G*y:G*(y+1), G*x:G*(x+1), c]).astype(np.int64)

    return out
def min_pooling(img, G=5):
    out = img.copy()

    H, W, C = img.shape
    Nh = H // G
    Nw = 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.min(out[G*y:G*(y+1), G*x:G*(x+1), c]).astype(np.int64)

    return out

  由于是多颜色通道的图片,所以记得别漏了这个参数。文章来源地址https://www.toymoban.com/news/detail-746372.html

到了这里,关于Pooling与马赛克的秘密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FFmpeg进阶-给视频添加马赛克效果

    很多时候为了隐藏视频中的敏感信息如人脸、身份证号、车牌号等,我们会采用马赛克算法对视频帧中的一部分内容进行处理。这里介绍一下如何采用FFmpeg实现马赛克效果。 马赛克效果算法的原理如下: 1.分块处理:首先将图像划分为多个小块或区域 2.像素替换:对于每个小块,

    2024年02月21日
    浏览(33)
  • ArcGIS三体阴影(影像三维)显示马赛克?

    我们经常基于ArcGIS通过DEM来做山体阴影 但是有时候你一放大就会出现很强的马赛克的效果 还有我们在利用ArcScene建三维场景 即使数据分辨率很高也会出现马赛克效果 那怎么来解决这个问题呢 让我们的山体阴影显示更加细腻 三维没有马赛克的效果呢? 右键图层选择如下显示

    2024年02月01日
    浏览(31)
  • AI 绘画 | Stable Diffusion 去除照片马赛克

    本篇文章教会你如何让几秒钟去除图片中的马赛克,还是依托于Stable Diffusion WEB UI的强大扩展插件ControlNet,快来学起来吧,如果有问题请在评论区留言。 首先在图生图,选择一个写实风格的大模型(我这里选择是majicMIX realistic 麦橘写实_v7.safetensors,你也可以到 https://www.libli

    2024年02月03日
    浏览(48)
  • 通过Python的PIL库给图片添加马赛克

    大家好,我是空空star,本篇给大家分享一下通过Python的PIL库给图片添加马赛克。 Pillow是一个Python图像处理库,它是Python Imaging Library(PIL)的一个分支。Pillow提供了广泛的图像处理功能,包括图像格式转换、图像增强、图像滤波、图像调整、图像合成等。使用Pillow,开发人员

    2024年02月06日
    浏览(37)
  • 【Unity ShaderGraph】| 如何快速制作一个 马赛克效果 实战

    前言 本文将使用Unity 的ShaderGraph制作一个 马赛克 的效果,可以直接拿到项目中使用。 对ShaderGraph还不了解的小伙伴可以参考这篇文章:【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例 下面就开始看一下具体的制作流程,然后自己动手制作一个吧

    2024年02月08日
    浏览(52)
  • ffmpeg 给视频或者图片添加水印和马赛克的方法

    可以使用 FFmpeg 给视频或图片添加水印和马赛克。以下是具体方法: 添加水印 如果需要给视频添加水印,可以使用 overlay 滤镜。该滤镜将两个输入叠加在一起,即将视频和水印画面结合在一起。以下是一个简单的例子: 其中 -i input.mp4 表示指定输入文件, -i watermark.png 表示指

    2024年02月16日
    浏览(35)
  • ffmpeg 如何剔除掉视频中的水印和马赛克

    FFmpeg 是一款功能强大的用于处理音视频的开源软件,可以用它来剔除视频中的水印和马赛克。具体实现方法如下: 剔除视频中的水印:FFmpeg 可以使用 maskfilter 滤镜来剔除视频中的水印。例如,以下命令可以去除视频中的水印,假设水印区域为 (x,y,w,h): 其中, -filter_complex

    2024年02月11日
    浏览(33)
  • FFmpeg 解码 H.264 视频出现花屏和马赛克的解决办法

    发送数据包太大,超过了 FFmpeg 的默认最大值。 网络情况较差时,因网络状况出现的丢包。 解码出错。 包乱序。 一种方法是控制播放源的发送数据大小,但这极大浪费了当前的网络带宽,非优选方案。 更好的做法是扩大接收端的接收缓冲区,其修改方法为: 在 FFmpeg 的源码

    2024年04月26日
    浏览(28)
  • OpenCV轻松入门(六)——简单图片处理【马赛克、毛玻璃、浮雕效果】

    马赛克效果 马赛克指现行广为使用的一种图像(视频)处理手段,此手段将影像特定区域的色阶细节劣化并造成色块打乱的效果,因为这种模糊看上去有一个个的小格子组成,便形象的称这种画面为马赛克。其目的通常是使之无法辨认。 下面,我们来介绍一下实现马赛克的思

    2024年04月14日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包