0

我对python相当陌生,我正在尝试隐写术。我正在使用库 Stepic 和 Image 尝试将用户输入消息加密到任何图像上。我的脚本会一直运行良好,直到最后一步,即对图像进行加密。我的错误是,“ValueError:不支持的像素格式:图像必须是 RGB、RGBA 或 CMYK”我想不出任何可以尝试的方法,所以我来到了这里。这是我的代码:

from PIL import Image
import stepic

i = input("Name of File (With extension): ")
img = Image.open(i)

message = input("Message: ")

message = message.encode()

encoded_img = stepic.encode(img, message)

encoded_img.save(input("Name of encypted image: "))
print("Completed!")
4

1 回答 1

0

尝试将图像转换为任何支持的格式,然后再将其传递给stepic.encode(). 一个示例代码是:

from PIL import Image
import stepic

i = input("Name of File (With extension): ")
img = Image.open(i)

message = input("Message: ")

message = message.encode()

imgConv = img.convert("RGB") # Here
encoded_img = stepic.encode(imgConv, message)

encoded_img.save(input("Name of encypted image: "))
print("Completed!")
于 2021-08-31T04:38:27.723 回答