Alpha通道模糊

时间:2011-08-19 00:39:01

标签: java transparency awt blur

我有这个BufferedImage对象,保证只包含一种颜色。我用它来显示一个样本图像来显示大小,形状和涂装工具中刷子的硬度。我已经尝试了几种不同的模糊实现硬度......最新的,似乎运行得相当好的是由Romain Guy编写的Stack Filter

我有两个问题。

  1. 1通道比4更快?:我试过的模糊滤镜似乎都不够快......我意识到之前已经问过这个问题(而且我我还没准备好尝试从C中提取FFTW,但我想知道是否有办法只使用alpha通道位执行模糊?图像只包含一种颜色,因此无论如何其他位都不会在点之间发生变化,我的想法是这会将模糊的计算次数减少到整个模糊操作的25%左右,我认为这可能导致性能明显改善?我无法通过网络搜索找到有关此内容的任何信息。

  2. 消除暗晕:每当我尝试不同的模糊算法时,我最终都要重写它以消除由于“黑色”模糊造成的形状周围的暗影从无色像素中还没有画过任何东西。我已经阅读了这个,我正在使用(据我所知)INT_ARGB_PRE图像类型,我记得这是读作这个问题的解决方案。我错过了那个解决方案吗?我是否需要以某种方式预先格式化图像以使其将所有空像素解释为白色而不是黑色?

  3. 谢谢!

1 个答案:

答案 0 :(得分:3)

您可能会觉得这很有趣: http://www.jhlabs.com/ip/blurring.html

讨论了暗晕问题,据我所知,所有源代码都可用,它只使用标准的Java SE。