首先,cv2.imread(img_path,cv2.IMREAD_UNCHANGED)
返回的是RGBA,在滤色处理(C=1-(1-A)*(1-B))后一定要设置被处理部分的透明度,否则会出现意想不到的情况。
另外注意在RGBA中,如果是完全透明,你那部分的像素在RGBA中是(0,0,0,0)
所以要知道滤色的原理自己做些修改
左边是我想要的效果,而作宾是滤色处理后透明度没有改变的结果
总结:对原理不熟悉会造成很多困难,所以基本功要扎实,知道自己操纵的是什么数据,知道操纵的原理,方可一往无前。


本文探讨了在使用cv2.imread读取图片并进行滤色处理时,如何正确处理透明度的问题。强调了理解滤色原理的重要性,指出在RGBA模式下,完全透明的像素值为(0,0,0,0),并对滤色处理后的透明度调整进行了说明。
219

被折叠的 条评论
为什么被折叠?



