Ada*_*Lee 4 opengl png opencv image image-processing
我听说在进行图层混合等时只需要预乘alpha.我怎么知道我的原始图像是否是预乘alpha?
你不能.
你能检查的唯一一件事是它是不是预先乘法的.要做到这一点,请查看所有像素,看看是否有一个颜色值的值高于alpha允许的值if(max(col.r,col.g,col.b) > 255*alpha)//not premul.任何其他情况都不明确,可以或不可以预乘.你最好的猜测可能是假设它们不像大多数PNG那样.
编辑:实际上,即使我发布的代码也没有用,因为那里有很多带有白色遮罩的PNG,因此图像必须包含具有alpha值的部分0以首先确定遮罩颜色.