如何在另一个图像的最低有效位中加密图像的一部分?
how to encrypt parts of image in least significant bits of another image?
我想加密图像的某些部分并将它们嵌入到另一个图像的最低有效位中 image.I 有 windows c# 格式的小图片框形式的图片。谁能帮我加密这些街区?
我怀疑这是正确或最快的方法,但最简单的方法可能是只使用 modulus 运算符。因此,例如,如果您想将 2 张图像压缩到一张具有字节格式 (0-255) 灰度数据的图像中。为简单起见,假设您希望每个图像均匀分割 4 位。 2^4=16。因此,如果您获取该图像中的每个像素并 mod 它:
pic1Pixel = pic1Pixel -pic1Pixel %16
这将剥离该图像的底部意义。然后在另一张图片中这样做:
pic2Pixel = floor(pic2Pixel /16)
做任何你需要做的事情(铸造和地板或诸如此类)以确保操作发生然后正确舍入(取决于语言)。
然后只需逐个像素地添加您的两个位图。
compoundPixel = pic1Pixel + pic2Pixel
如果之后你想拉出第一张图片:
pic1Pixel = 16*(floor(compoundPixel/16))
第二张图片:
pic2Pixel = 16* (compoundPixel%16)
几乎可以肯定有一种更简洁的方法可以通过简单的位移位来实现,但我现在不觉得 debugging/testing 有什么,也不知道手头的语法。简而言之,尽管您只需从第一张图片移入前 4 位,然后从第二张图片移入前 4 位。回想一下,您会适当地移出或屏蔽并归一化。
我想加密图像的某些部分并将它们嵌入到另一个图像的最低有效位中 image.I 有 windows c# 格式的小图片框形式的图片。谁能帮我加密这些街区?
我怀疑这是正确或最快的方法,但最简单的方法可能是只使用 modulus 运算符。因此,例如,如果您想将 2 张图像压缩到一张具有字节格式 (0-255) 灰度数据的图像中。为简单起见,假设您希望每个图像均匀分割 4 位。 2^4=16。因此,如果您获取该图像中的每个像素并 mod 它:
pic1Pixel = pic1Pixel -pic1Pixel %16
这将剥离该图像的底部意义。然后在另一张图片中这样做:
pic2Pixel = floor(pic2Pixel /16)
做任何你需要做的事情(铸造和地板或诸如此类)以确保操作发生然后正确舍入(取决于语言)。
然后只需逐个像素地添加您的两个位图。
compoundPixel = pic1Pixel + pic2Pixel
如果之后你想拉出第一张图片:
pic1Pixel = 16*(floor(compoundPixel/16))
第二张图片:
pic2Pixel = 16* (compoundPixel%16)
几乎可以肯定有一种更简洁的方法可以通过简单的位移位来实现,但我现在不觉得 debugging/testing 有什么,也不知道手头的语法。简而言之,尽管您只需从第一张图片移入前 4 位,然后从第二张图片移入前 4 位。回想一下,您会适当地移出或屏蔽并归一化。