39得票1回答
如何在Android画布上绘制平滑/抖动的渐变?

有几个答案提到要使用GradientDrawable.setDither(true)来在Android中绘制平滑的渐变。但是这在我的代码中没有效果。有什么想法可以让我得到一个好看的渐变背景?GradientDrawable gradient = new GradientDrawable(Ori...

13得票2回答
在Android 4.0及以上版本中出现色带问题

在运行Android 4.0或4.0.3的模拟器上,我看到了可怕的色带问题,但似乎无法摆脱。在我测试过的其他所有Android版本中,渐变效果都很平滑。 我有一个SurfaceView,它被配置为RGBX_8888,并且在呈现画布时没有出现色带问题。如果我在渲染结束时通过叠加噪点来手动抖动图...

13得票2回答
弗洛伊德-斯坦伯格抖动算法的像素着色器替代方案

我知道Floyd-Steinberg抖动算法不能用像素着色器实现,因为该算法是严格顺序的。但也许存在一些高度并行的抖动算法,其视觉输出类似于Floyd-Steinberg算法? 所以问题是 - 有哪些适合在像素着色器(最好是GLSL)上实现,并且输出质量(非常)类似于Floyd-Steinb...

13得票2回答
JavaScript中的单色抖动(Bayer、Atkinson、Floyd-Steinberg)

我正在使用HTML5进行网络摄像头滤镜的开发。已经成功实现了 Atkinson dither ,可以让画面呈现出老式Mac的感觉。 现场演示 | 源代码 现在我想要制作一个Bayer有序抖动选项,以呈现1989年Gameboy的感觉。 我已经 阅读了该算法,但是我在将伪代码转换为Jav...

8得票1回答
如何在Octave中从文件加载矩阵?

我使用imread函数将一张8位灰度图像加载到Octave中,然后将其保存为ascii格式,得到了一个包含所有值的巨大列表。接着,我在Java中使用2x2矩阵对其进行抖动处理,并将每个抖动矩阵的列表打印在同一行上。 如果程序中某个像素的矩阵如下所示: 0 2 3 1 那么我的程序生成的...

8得票4回答
什么是优化的 C/C++ 算法,用抖动方式将 24 位位图转换为 16 位?

我一直在寻找一种优化(即快速)的算法,它可以使用抖动将24位RGB位图转换为16位(RGB565)位图。我正在寻找一些可以在C/C++中实际控制如何应用抖动的东西。GDI+似乎提供了一些方法,但我无法确定它们是否进行了抖动。如果它们确实进行了抖动,那么它们使用的机制是什么(Floyd-Stei...

7得票2回答
如何在有序抖动中分辨哪种颜色在CIE-L*a*b*颜色空间中是“较低”或“较高”的?

我已经实现了几个函数,将sRGB转换为CIE-L*a*b*颜色空间。现在,我想用它来进行抖动处理,但我不确定如何准确区分哪种颜色是"较低"的颜色,哪种是"较高"的颜色。 当在一维颜色空间(灰度)中进行抖动时,事情变得很容易。在使用误差扩散抖动时,我计算出调色板中最接近的灰度值,并将误差添加到...

7得票1回答
使用PHP或Javascript将RGB图像转换为Floyd-Steinberg图像以适用于Zebra打印机

我正在开发一个基于桌面的 PHP 应用程序,需要使用 Zebra GC420t 打印机来捕获人物图像并将其打印在标签上。期望的图像应该像下面的图像一样。 当我尝试打印时,输出的结果会像下面的图像一样。 我正在使用以下代码将 rgb 图像转换为 dithering 图像,使用 php 代...