问题标签 [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.
python - 如何模糊点的 3D 数组,同时保持它们的原始值?(Python)
我有一个稀疏的 3D 值数组。我试图通过对数组应用高斯滤波器将每个“点”变成一个模糊的“球体”。
我希望点 (x,y,z) 的原始值保持不变。我只想在这一点周围创建衰减值......但是应用高斯滤波器也会改变原始 (x,y,z) 值。
我目前正在这样做:
dataCube = scipy.ndimage.filters.gaussian_filter(dataCube, 3, truncate=8)
有没有办法让我正常化这个,或者做一些事情让我的原始值仍然在这个新的dataCube中?如果这不是最好的方法,我不一定要使用高斯滤波器。
python - 如何将 1D 阵列变成对称的 3D 阵列?
我有一个对称的一维 numpy 数组,例如,如下所示:
我怎么能把它变成一个 3D 数组(有点类似于高斯核),中心值为 2?
作为我的意思的一个例子(尽管数学可能不正确),在 2D 中这将是这样的(尽管我需要它是 3D):
c# - 高斯滤波器实现
我正准备在 C# 中实现一个高斯滤波器,并且在准备中我正在阅读这方面的文献。但是我有不同的消息来源。
一本书(日文:Practical Image Processing Introduction by Uchimura)指定计算模板的方程为
我认为这是正确的,尽管作者将 size 和 sigma 链接为SIZE = 3*sigma
.
最后,一本优秀的书(Nixon 和 Aguado 的 Feature Extraction & Image Processing for Computer Vision,第 106 页)给出了正确的等式,但在代码中实现时给出了不同的实现。
其中SUM
是指数的所有值的总和。下面是他们提供的伪代码 - 我认为它接近 MATLAB。
尽管正确的方程和代码实现在某种程度上给出了相似的结果,但我想知道为什么在同一本书中实现和方程是不同的。
我的问题是,你们中的任何人都使用过高斯滤波实现吗?实现的方程式是否正确?知道为什么这本书给出了一个更简单的实现吗?
c# - 在(高斯)滤波后对图像进行归一化
我按照 Nixon Aguado 的算法实现了一个高斯滤波器。该算法(在找到此处描述的模板gaussian template之后)如下。
我相信伪代码是 MATLAB 风格的。
无论如何,让我担心的是最后一部分“正常化”。我已经尝试过我的算法(用 C# 编写),一些像素的值是 255.00000003(显然大于 255)。我应该将结果“标准化”以将其扩大到 0-255 范围吗?那不是要修改图像(除了高斯)吗?我只是不希望这个操作涉及高斯滤波器,仅此而已。
编辑:我已经消除了“规范化”,它似乎运作良好,所以我不知道为什么这本书的作者推荐它。尽管如此,我还是担心如果由于某种原因出现 > 255 的某个值并且无法绘制,我的程序会崩溃。
vb.net - 高斯模糊返回值大于 255
我正在尝试在不使用库的情况下制作高斯模糊。当我将 σ 更改为 5 时,它会导致错误,因为该值大于 255。我以此作为参考。我知道方程式是错误的,但我只看到参考值。我使用来自 wiki 的方程式。
当我使用相同的 σ 和 5.5 的参考值时,我得到的结果与该链接上的值相同。但是当我尝试将其更改为 5 时,值超过了 255。也许不仅仅是 5。我一遍又一遍地重新阅读我的代码。或者我搞砸了公式?它应该低于255吧?这是我的公式代码
这是主要功能
更新: 我刚刚意识到这一点,当我使用灰度图像时,它可以工作。但是当我在内核 5x5 上使用全彩色图像时,它会将图像变成灰度。我意识到只有红色通道超过 255。
python - 线性分离高斯滤波器并用 Numpy 计算
我有一个2d
numpy
array
包含从到的greyscale
像素值。我想做的是从头开始创建一个. 我已经编写了一个生成高斯函数的函数:0
255
gaussian filter
normalized
kernel
效果很好:
因此,我创建了一个基本convolution
函数来将其kernel
应用于每个函数pixel
并产生gaussian
模糊:
它工作正常并且模糊了图像,但是,由于这段代码最终将在树莓派上运行,我需要它高效并且速度更快。因此,感谢我昨天提出的关于如何加速边缘检测器的问题的答案Sobel
,我尝试将他给出的相同逻辑应用于gaussian
过滤器。但是,由于function
将接受 的variable
大小参数kernel
,因此与设置的Sobel
内核大小(即3x3
.
如果我正确理解了解释,我需要首先将内核分成x
和y
组件,这可以通过使用原始的顶部row
和左侧来完成(显然它们是相同的,但我决定将它们分开,因为我有内核已经计算)。下面是分离的矩阵:column
kernel
2d
从这些row
和column
向量中,我需要遍历每个值并将'window'
数组的值乘以它的元素。在每个之后,将减小的窗口大小沿数组向右移动。为了更清楚地显示我认为我需要做的事情,这些是'windows'
我正在谈论的 3 个不同kernel
大小的小图像3x3
:
因此,对于每个'window'
,您乘以index
内核中该窗口的 并将其添加到总数中。
然后,获取已应用内核x
组件的img 并对组件执行相同操作。gaussian
y
这些是我认为我可以gaussian
比使用上述方法更快地计算模糊的步骤nested
for-loops
,这是我编写的尝试执行此操作的代码:
我的问题是这个函数产生了正确的“模糊效果”,但由于某种原因0
,输出值都介于两者之间。幸运的是,由于某些其他原因,仍然可以正常显示输出,因此我可以检查它是否正确模糊了图像。3
floats
matplotlib
问题很简单:为什么像素值输出在0
和之间3
?
我已经调试了几个小时,但找不到原因。我很确定某处只有一点缩放细节,但我就是找不到。任何帮助将非常感激!
c++ - 暂停时的快速高斯模糊
在cocos2d-x中,我需要实现快速高斯模糊,它应该是这样的(我刚刚在 App Store 上发现了一些游戏已经完成了这种模糊,统一):
所以,当用户暂停游戏时, fadeIn - fadeOut模糊效果很好。
GPUImage 已经有我需要的快速模糊,但我找不到 cocos2d-x 的解决方案。
v1 代码(GPUImage v1) Objective C
- GPUImage-x C++版
这是使用 GPUImage2 进行实时摄像头视图的结果- 在 iPod Touch 5G 上进行了测试,它在这款缓慢而旧的设备上运行速度很快。
即使在 iPod Touch 5G 等非常慢的设备上,GPUImage 中的模糊效果也非常快。
为 cocos2d-x 寻找超快速高斯模糊的解决方案。
ios - 有什么方法可以加速这个 UILabel 模糊代码?
这是代码,它真的很慢,就像渲染大约 25 个标签的秒数一样慢。
任何图像/UIGraphics 大师都知道为什么这么慢?
更新:这行代码是罪魁祸首。但是,还需要创建模糊效果。
google-chrome - SVG feGaussianBlur 和 feColorMatrix 过滤器在 Chrome 中不起作用?
我正在尝试使用此代码http://bl.ocks.org/nbremer/0e98c72b043590769facc5e829ebf43f中的过滤器。在Win 7上的Firefox 56(64bits)中实现的效果很好,但是在Chrome 62(64bits)中就奇怪了。颜色要浅得多,效果看起来不像FF那样平滑。
我已经阅读了很多关于 Safari 无法正确显示这些过滤器的问题,但我找不到关于 Chrome 的任何信息。
请看下面的截图:
- 火狐
- 铬合金
知道是什么导致了差异以及如何在 Chrome 中修复它吗?