Python3使用Stepic做图像隐写报Unsupported pixel format错误如何解决
错误原因
你导入的原始图片颜色模式不符合Stepic库的要求,该库仅支持RGB、RGBA、CMYK三种模式的图片做隐写处理,常见的索引模式(P,多为小体积PNG图)、灰度模式(L)都会触发该报错。
修复方案
在图片读取完成后新增一行代码,将图片统一转换为Stepic支持的模式即可,一般选择RGBA模式兼容性最高,可保留原始图片的透明通道。
修复后完整代码
from PIL import Image import stepic i = input("Name of File (With extension): ") img = Image.open(i) # 将图片转换为Stepic支持的RGBA模式 img = img.convert('RGBA') message = input("Message: ") message = message.encode() encoded_img = stepic.encode(img, message) encoded_img.save(input("Name of encrypted image: ")) print("Completed!")
如果你不需要保留图片的透明通道,也可以将转换模式改为RGB,最终输出选择JPG格式即可。
内容的提问来源于stack exchange,提问作者Ali Alshawabkeh
相关产品推荐
相关产品推荐

