所以,正如你在左上角看到的那样,有变色。这违背了隐写术的目的
我很确定这与我在图像中隐藏文本的方式有关。我是这样做的,使用Processing
:
void hide(PImage payload,PImage carrier){
if(payload.width > carrier.width){
print("Carrier can not be smaller than payload");
return;
}
for(int x = 0; x < payload.width; x++){
int payloadPixel = payload.pixels[x];
int carrierPixel = carrier.pixels[x];
carrierPixel = carrierPixel & 0xFFFFFF00;
payloadPixel = payloadPixel & 0x000000FF;
carrierPixel = carrierPixel | payloadPixel;
carrier.pixels[x] = carrierPixel;
}
carrier.updatePixels();
carrier.save("newTulips.JPG");
}
我可以做些什么来让它更好地隐藏?
答案 0 :(得分:5)
进行隐写时,请不要使用有损压缩(如JPEG)。使用无损或未压缩的图像(如PNG)。
另请注意,使用隐写术意味着您必须仅使用最低位而不是完整字节来隐藏您的信息。如果您使用完整的颜色通道获取信息,您将在图像中获得此类工件。
答案 1 :(得分:5)
在我看来,这就是你应该做的:
当然: