我试图将文本编码到图片中,然后使用stepic模块对其进行解码。当我执行下面的代码时,它会发现我的解码错误。请给我建议如何修复它。
#encode text in photo
from PIL import Image
import stepic
im=Image.open("beer.jpg")
im2=stepic.encode(im,"In god we trust")
im2.save("stegbeer.jpg","JPEG")
#decode text from photo
im1=Image.open("stegbeer.jpg")
s=stepic.decode(im1)
data=s.decode()
print data错误:回溯(最近一次调用):文件"C:\Users\xxxx\Desktop\Python\steganography\all.py",第11行,在data=s.decode() UnicodeDecodeError:'ascii‘编解码器无法解码字节0 0xff的位置0:序号不在范围内(128)
发布于 2014-09-19 10:10:50
就像nneonneo建议的那样,stepic不适用于jpeg。来自在线文件
由于数据是以颜色存储的,而不是以任何特定格式的方式存储的,因此Stepic可以写入PNG、BMP和其他格式,并且可以读取大量其他格式的数据。(JPEG无法工作,因为它会抛出数据。)
Stepic使用3LSB直接嵌入到像素。影响像素值的任何有损压缩格式都是不合适的。如果您想处理jpeg图像,您必须使用另一种更合适的算法。
https://stackoverflow.com/questions/25929215
复制相似问题