问题标签 [gaussianblur]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
385 浏览

c++ - 高斯模糊永远无法正常工作

问题的图像

出于某种原因,每次我做模糊时结果都是这样,我真的很困惑为什么会这样。同样对于绽放,模糊都是像素化的,并且每次我做模糊时都会发生这种情况。我真的不知道问题是什么。

这是您需要的方差阴影贴图模糊的所有代码。

GaussianBlur垂直片段着色器..

GuassianBlur水平片段着色器..

模糊阶段..

初始化模糊 fbo..

0 投票
1 回答
1333 浏览

opengl - GLSL - 高斯模糊伪影问题

首先,由于需求限制,我在 OpenGL v. 2.1 和 GLSL 120 中工作。我已经实现了一个简单的片段着色器,它应用从帕斯卡三角形获得的 n 核权重的两遍(水平和垂直)高斯模糊. 对于下面的图像,我决定使用 32 的内核大小,只是为了好玩:

高斯内核大小:32,偏移量:3

正如所观察到的,过滤后的 blob 的边缘似乎有一些奇怪的伪影,以及其边缘的振铃效应。作为参考,这是我应用模糊的方式:

此外,我正在使用两个帧缓冲区。首先,我将白色斑点绘制到绑定到第一个帧缓冲区的纹理上,然后将模糊着色器应用到第二个帧缓冲区以进行水平传递,然后返回到第一个以进行垂直传递。我已经实现了一个重复这个过程的滑块,见下面的片段:

随着我增加模糊的偏移量/半径,以及增加 for 循环运行的次数,条带/振铃/伪影变得更加明显。本练习的目的是简单地对 blob 的边缘应用“软化”效果,在能够操纵偏移的同时,内核不可见。任何人都可以对这个问题有所了解吗?谢谢你。

0 投票
2 回答
852 浏览

java - 两遍渲染的模糊内核分离

我有必要计算两遍模糊的内核。假设有一个 5x5 的模糊核,生成如下:

当 sigma = 1 和 size = 5 时,我们有以下内核:

问题是如何将此内核带入适合两次渲染的视图(水平和垂直,OpenGL中的实时渲染)

编辑:

书中给出的内核:0.227027 0.1945946 0.1216216 0.054054 0.016216

我完整的fragment_blur_shader.glsl:

我还发现下图展示了从 1D 内核接收 2D 内核以进行两阶段渲染:

使用两通可分离滤波器方法完成的 7x7 卷积核示例

但我不知道如何获得这个一维核心。我希望能得到你的帮助。

编辑:

我明白了如何获取我需要的内核,但我仍然不明白为什么书上会以这种形式给出这个内核

0 投票
1 回答
1154 浏览

glsl - webgl错误中的高斯模糊

我正在尝试在 webgl 中编写一个简单的高斯模糊着色器。我对此进行了很多搜索,我想我理解它背后的想法。鉴于这个3X3内核。我如何将它应用到我的顶点着色器?

这是我当前的输出

特别是如何获得相邻像素?

这个逻辑甚至有意义吗?

我应该在上面的 vec2() 中放什么?说如果我想获得内核的左上角纹理值。假设 vUv 是(20,20)得到(19,19)我应该写

0 投票
1 回答
1316 浏览

c# - WPF 窗口模糊 + 阴影

我已经进行了一些搜索,但似乎找不到在窗口上同时使用投影和模糊窗口背景的方法。

我目前正在使用https://github.com/riverar/sample-win32-acrylicblur(MainWindow.xaml.cs 中的所有模糊代码)来模糊背景,但是由于投影需要在窗口中进行一些填充来渲染投影在中,阴影的空间也应用了模糊。

我尝试使用 OpacityMask,但这似乎没有帮助。事实上,即使将Window的Opacity属性设置为0,仍然会出现模糊,所以我担心这种模糊方法是不可能的。

我已经在使用的软件包之一是 Microsoft.Windows.Shell,我需要重建应用投影后丢失的默认按钮,也许这有一些帮助。

TLDR: 有没有办法同时使用 Aero 风格的模糊窗口和投影?理想情况下不安装额外的软件包,但如果没有其他办法,我将不得不硬着头皮。

截至 2018 年 3 月 8 日,我使用的是最新版本的 .Net 等

0 投票
1 回答
160 浏览

d3.js - SVG 高斯模糊质量

我正在显示一个 SVG 地图,其海岸线具有模糊效果,如下图所示:

在此处输入图像描述

我正在使用一个简单的feGaussianBlur过滤器来绘制陆地多边形下方的海岸线:

结果在北海岸令人满意。但是,红色圆圈中出现了一些矩形图案。这是由于海岸被分割成几个线性元素,它们的模糊边缘相交。

有没有办法解决这个问题并在各处产生“不错”的模糊效果?

我已经尝试过color-interpolation-filters=sRGBimage-rendering=optimizeQuality但没有任何成功。

仅供参考,演示地图与源代码在这里

0 投票
1 回答
809 浏览

opencv3.0 - 如何在 OpenCV 上进行选择性高斯模糊?

我想在 OpenCV 上做一个降噪滤波器,就像 Gimp 的选择性高斯模糊一样: https ://docs.gimp.org/en/plug-in-sel-gauss.html

过滤器将每个像素与其周围环境进行比较,并且仅在差异低于最大增量时才进行模糊处理。

0 投票
0 回答
152 浏览

android - 如何使用 Canvas 在给定 RectF 对象的情况下模糊图像中的特定部分?

我在图像中有坐标(p,q,r,s),我只想模糊这个区域,现在我在它周围画一个矩形。如果可以使用画布,那就太好了,但也欢迎其他方法

我查看了其他文章,每个人都参考了 RenderScript 并模糊了整个图像或模糊了 textview,我在这里没有使用 textview,而是在给定坐标的情况下动态创建矩形(目的是模糊这部分)的 GraphicOverlay。

这是布局视图:

0 投票
1 回答
1619 浏览

python - `sigma` 是否以`gaussian_filter` 的像素单位表示?

我正在看scipy.ndimage.gaussian_filter,但无法理解sigma这里的意思。是sigma= nn像素数,因此一个n点的所有边上的像素数内的区域对平均的贡献最大?

0 投票
3 回答
1994 浏览

ios - 如何获得类似于苹果地图状态栏的模糊效果?

我正在开发基于地图的 iOS 11 应用程序,并希望使状态栏变得模糊,就像它出现在 Apple 地图中一样。

这是它在地图应用程序上的外观: 在此处输入图像描述

目前,我正在使用 UIVisualEffectView 来复制这种效果。这是我的代码:

但是,无论我使用什么 UIBlurEffect,我都无法像 Maps 应用一样复制效果。以下是它寻找不同效果的方式:

。常规的 在此处输入图像描述

。著名的 在此处输入图像描述

。光 在此处输入图像描述

.extraLight 在此处输入图像描述

我只想模糊状态栏,而不添加任何饱和度、活力或任何白色色调。

有一个实例属性 - backgroundFilters,它可能对我有帮助,但不幸的是它不适用于 iOS 上的图层。

这里建议的一种可能的解决方案是捕获图像中的 UIView 内容,然后模糊并显示它。但是,在我的情况下,这不是一个可行的解决方案,因为我在状态栏下方有一张可以平移的地图。在平移地图时连续捕获下方地图并对其进行模糊处理是没有意义的。

我尝试使用ILTranslucentView,它是 UIView 的一个小子类,提供原生 iOS 7+ 模糊(半透明)效果。它是这样出现的:

在此处输入图像描述

我尝试了几种不同的方法但没有用。