我是Matlab中的图像处理新手并且陷入困境。请帮助我理解这个问题或者给我一些指导。我也为大问题陈述道歉。我非常感谢你能为我提供的任何指导。
问题:我正在开展一个项目,将一个彩色图像(秘密图像)存储在另一个彩色图像(封面图像)中。这两个图像都是jpg格式。在处理之后,我创建了一个看起来类似于封面图像的嵌入图像,但也存储了秘密图像。嵌入的图像正确存储了秘密图像位。然而,在提取回秘密图像位时,我无法获得彩色秘密图像。以下是我用来重建秘密图像的两种方法。
方法1:在重新创建秘密图像时,我创建了一个秘密图像大小的零矩阵,并开始将秘密图像位存储在矩阵中。但这个重新创建的图像看起来完全是白色的,只有很少
方法2:我手动创建了一个白色jpg图像,并在我的代码中读取该图像。然后我开始在其中存储秘密图像位。在显示时,该图像正确地显示了秘密图像。
两者的唯一区别在于,在第一种方法中,我创建了一个零矩阵并存储了秘密图像位。在第二种方法中,我读取白色jpg图像并存储秘密图像位。在第一种方法中,我无法重新创建秘密图像,但在第二种方法中,我可以。
两种可能的解决方案:
请建议我实施上述任何一种解决方案。
提前致谢。
答案 0 :(得分:0)
JPG是一种有损压缩技术,这意味着在创建图像时数据会丢失。如果您通过更改每个像素最低有效位(或类似的东西)将图像“嵌入”另一个像素,然后将其另存为JPG,则可能会丢失某些数据。
解决方案:使用无损压缩技术,例如.PNG
祝你好运!