反锯齿特效逆转滤镜

4

我有一些应用了反锯齿效果的线条和文本位图。我想开发一个过滤器来去除反锯齿效果。我正在寻找关于如何做到这一点的想法,所以首先我需要了解反锯齿算法的工作原理。是否有任何好的链接或代码可以参考?


我猜你想要进行边缘检测,并进行某种形式的边缘增强。也许像浮雕一样。 - Merlyn Morgan-Graham
是的,我正在开发一种边缘检测算法,但它在某些区域失效,尤其是当线条或文字彼此靠近时,抗锯齿处理会导致有点模糊。我的边缘检测必须保持形状分离,所以我需要一种滤波器来识别抗锯齿像素并在进行边缘检测之前将其移除。 - Jeremy
1
https://dev59.com/hXNA5IYBdhLWcg3wk--A - digEmAll
2个回答

5
我需要了解反锯齿算法的工作原理。
反锯齿通过在输出分辨率之前以更高的分辨率渲染图像。在缩小采样过程中,高分辨率像素被平均以创建较低分辨率像素。这将在渲染图像中创建更平滑的颜色变化。
考虑这个非常简单的例子,在白色背景上呈现一个块轮廓。
然后将其缩小到一半的分辨率,从而创建具有灰度阴影的像素:
这是反锯齿的更实际的演示,用于呈现字母S:

如果我没记错的话,这被称为超采样,是我在大学CG&V课程中学到的。非常好的答案。 - Alex Humphrey

3
我对C#编程一窍不通,但我有图形设计经验。最接近反抗锯齿滤镜的东西是锐化滤镜(至少在实践中使用Photoshop),通常需要多次应用,具体取决于所需效果。锐化滤镜在抗锯齿元素和背景之间已经有很大对比度的情况下效果最佳,如果背景是一个纯色而不是复杂的图形,则效果更好。
如果您有任何高级图形编辑器可供使用,可以尝试进行几项测试,如果结果令您满意,可以开始研究锐化滤镜。
此外,如果您正在使用灰度位图,则更好的解决方案是将其转换为B / W图像-这将消除其上的任何抗锯齿效果。
希望这至少能有所帮助 :)

谢谢。我会研究锐化滤镜。我尝试将图像转换为灰度并使用黑白滤镜,但是通常我有一些形状,滤镜认为应该是白色的,而我无法找到适用于所有情况的好阈值。锐化滤镜可能更加智能,因此我将调查这个选项。 - Jeremy
1
很高兴能够帮忙。我不会放弃黑白转换,因为如果您可以接受使用黑白位图,这种方法将是您最好的选择。在转换为灰度后,尝试降低亮度同时增加对比度。这将有助于在转换为黑白之前“清理”图像并更好地定义区域。 - Valentin Flachsel
有趣。我得想办法计算和操作亮度。好的技巧,谢谢。 - Jeremy
1
我建议您寻找亮度/对比度滤镜,因为它们通常一起出现,或者至少在大多数图形编辑器中它们是分组在一起的。很抱歉我无法再帮助您了。多年的平面设计经验教会了我如何使用它们以及何时使用,但并不知道它们是如何实际创建的。 - Valentin Flachsel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接