作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻找一种有效的算法,该算法将查看四 channel 图像 (RGBA),找到一个对象(一组 Alpha >0 的像素被 alpha = 0 的像素包围),然后尝试对图像的边缘进行抗锯齿处理物体。有什么建议吗?
最佳答案
我猜您正在尝试描述一种情况,其中具有 alpha 的对象图像已粘贴到无 alpha 背景上,替换 alpha > 0 的像素,而不是正确混合。在生成的图像中,每个 alpha=0 的像素都是背景,每个 alpha > 0 的像素都来自对象。没有混合,只是过度粘贴。
因此 - 一种用于猜测 alpha 现在非零的像素以前是什么颜色的算法可以解决问题。如果你有它,你就可以在 0% < alpha < 100% 的每个地方正确地进行混合,以获得适当的抗锯齿边缘。
猜测缺失像素值的一种方法是使每个未知像素成为其周围像素的平均值,并不断重复这一过程,直到几乎没有变化。这几乎就是使用附近像素修复旧照片图像划痕的算法。您要求一种有效的方法。 multigrid method当有更大的未知像素区域时,会让你更快到达那里。
一旦你有了一个似是而非的未知背景,将 alpha > 0 的像素混合回去,这次适本地考虑它们的 alpha。
关于光栅图像抗锯齿算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5530508/
我是一名优秀的程序员,十分优秀!