问题标签 [dithering]

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 回答
118 浏览

ios - 如何通过视频帧或 UIImages 数组的抖动创建 GIF(看起来更自然)?

这是链接(https://imgplay.zendesk.com/hc/en-us/articles/360029411991-What-is-GIF-Dithering-Option-),上面写着When you save the file as GIF with dithering, it can make your GIF more natural.

如何Dithering使用Objective-C 或 Swift从 UIImages 或视频帧创建更自然的 GIF ?

0 投票
0 回答
43 浏览

ios - 使用 GPUImage (iOS) 的有序抖动过滤器

我正在使用GPUImage。但是没有内置功能可以对图像使用有序抖动过滤器。我使用以下代码来获取有序抖动过滤器。但是此代码产生了白色背景,并且没有显示图像。

GPUImageDitherFilter.h

GPUImageDitherFilter.m

这段代码有什么问题?需要帮忙。
我从这里得到了这个代码

0 投票
1 回答
106 浏览

google-chrome - How to disable gradient dithering in browsers?

Situation/Problem

When making a SVG filter, I stumbled upon something strange. When converting the original CSS gradient to R, G or B color only (whichever channel has the highest value), I get dithering in the gradient.

Question

While this usually is a good thing for visual performance, it now messes up the calculations/masking in my SVG <filter>.

Is there a way to disable this dithering? Or to prevent it from occurring?

Example

Screenshot

Screenshot

Here you have two color wheel bars. The bottom one has the SVG filter applied to it. The filter should show full red on colors where red is the (shared) highest channel, then green, then blue. Ideally it would show 4 blocks that are, if added, have almost equal width. But as you can see, the dithering messes this up, and thus the blocks are dithered areas. For very light color gradients it's even worse.

Platform: Windows 10 - Browser: Chrome version 93.0.4577.82 (64-bit) (But happens in Edge as well.)

Notes:

Update

As suggested by Michael, I tried using a blur before applying the rest of the filter. By adding <feGaussianBlur stdDeviation="1" in="SourceGraphic" result="blurred-img" /> to the filter and using blurred-img instead of SourceGraphic. But as you can see from the screenshot below, it does not disable the dithering or deals with the 'troubled' pixels.

The trouble there is that they probably have a very small positive value because of calculations, but so small that dithering kicks in instead of assuming 0 opacity.

With blur of 1 px

enter image description here

FYI

So although it does not really have something to do with the question, I will explain the use case a bit.

In short, this filter will be used to effect a specific range of colors of the original image based on their hue value.

In order to do that, this filter above makes a mask that will ‘select’ a certain range of colors. The result can then be put through the actual effect and then pasted over the original image. For example all red tones in an image get hue rotated.

0 投票
1 回答
36 浏览

image-processing - 在图像上重新运行 Floyd Steinberg 算法

我在 Python 中实现了抖动算法的一个版本(来自图像处理)。我使用的算法是 Floyd Steinberg 算法。

我想知道如果我一遍又一遍地在同一张图像上重新运行我的算法,图像会如何变化。我注意到它根本没有改变:

第一次迭代:

在此处输入图像描述

第 10 次迭代:

在此处输入图像描述

首先,这是正确的行为还是我的实施有问题?这是正确的,我想知道为什么在一次迭代之后,它根本不会改变图像?它背后有一些数学解释吗?

0 投票
0 回答
18 浏览

.net - .NET 中的反向抖动

给定一个使用抖动创建的图像,如何将该图像转换回使用完整调色板?

.net 似乎没有为此目的提供任何工具。

(我知道这个映射既不是唯一的也不是无损的——我很好)

0 投票
1 回答
173 浏览

processing - 抖动 (Floyd-Steinberg) 仅更新 p5.js 中的部分图形对象

我正在尝试通过在图形对象(在设置中)中预抖动一堆圆圈然后稍后绘制它们来在 P5.js 草图中实现 Floyd-Steinberg 抖动。

但是,我一直遇到只有部分圆圈抖动,其余部分看起来正常的问题。欢迎提出任何建议,因为我对发生的事情感到非常困惑。

例子

setup()

draw()

floyd-steinberg - based on https://openprocessing.org/sketch/1192123

我不确定我错过了什么,因为抖动算法在高度和宽度上循环然后应该更新,但我认为我错过了一些东西。

0 投票
1 回答
66 浏览

three.js - 为什么在three.js 材料上的“抖动”实际上不会进行抖动?

我的对象上有一个简单的材料,例如:

和一个简单的定向灯。现在,我认为“抖动”会对阴影做这样的事情: 在此处输入图像描述

但是,它似乎没有做任何事情。抖动属性实际上是做什么的?还是我忘记配置一些东西?

0 投票
0 回答
41 浏览

imagemagick - 如何让 ImageMagick 做这种半色调(见图片和描述)?

一直在研究 ImageMagick 的半色调功能。我尝试了许多-ordered-dither组合,但没有接近我想要的结果。我已经尝试过 Photoshop,但由于 Linux 平台和许可证等原因,这不是一个选项。

在 Photoshop 中,我通过将其设为灰度,然后通过以下选择线得到我想要的结果:图像 > 模式 > 位图和方法 使用:具有这些参数的半色调屏幕频率:22 LPI角度:55 度形状:圆形

对于这样的结果,转换命令等价物是什么?

原始图像

通过单击图像 > 模式 > 位图并使用这些参数选择半色调屏幕来制作 Photoshop 半色调 频率:22 lpi 角度:55 度 形状:圆形