明文图像作为载体,嵌入率大于等于二的方法或论文,找了好久找不到
你多久会跳一次槽?1年,2年?3年?
在面试的时候,很多HR都提出了这样的情况,求职者面对问题结结巴巴说不出个所以然来,回答问题的思路十分不清晰,一看简历,在上一家公司做了3—5年的时间,掌握的技术明显落后于市场需求。
很多时候,当我们在一个环境待久了,很容易产生思维固定化,久而久之就会跟不上市场的要求了,所以这类求职者的面试通过率往往不高,跳槽对于其的难度也会增大。
所以对于测试员而言,即使没有跳槽的念头,也可以实时更新面试经验,频率最好在半年一次。
对于技术人员而言,技术是否落后是所有测试员在任何时候都需要关注的市场信息,所以我们面试的主要目的,是通过面试获取最新的薪资,同时也能时刻保证知道自己市场价值以及现在市面上缺少哪种类型的人才。
如果没有这些信息,当你被裁员或是想跳槽时,因为不知道市场价格,很容易就会被压价,到时候只能吃哑巴亏,所以,了解市场行情就显得尤为重要了。
我能够帮助你解决这个问题。在图像信息隐藏领域,有一种叫做DCT(离散余弦变换)域方法可以将信息嵌入到图像中。该方法的优点是可以达到较高的嵌入率,并且可以实现可逆性。下面是具体的解决方案:
pip install Pillow
pip install numpy
from PIL import Image
import numpy as np
import scipy.fftpack
# 加载图像并将其转换为二维数组
im = Image.open("image.png")
im = im.convert("L")
a = np.array(im)
# 进行DCT变换
b = scipy.fftpack.dct(scipy.fftpack.dct(a, axis=0, norm='ortho'), axis=1, norm='ortho')
# 在低频系数中嵌入二进制信息
data = "0010110011011001"
data = list(data)
for i in range(len(data)):
if data[i] == '0':
b[i+1][1] -= 10
else:
b[i+1][1] += 10
# 将DCT系数转换回原始图像
c = scipy.fftpack.idct(scipy.fftpack.idct(b, axis=0, norm='ortho'), axis=1, norm='ortho')
# 将图像转换为PIL对象并显示结果
im_out = Image.fromarray(c)
im_out.show()
这段代码的具体含义是在第二个低频系数中嵌入了一个16位的二进制信息。可以自行修改代码中的信息。
# 将提取回来的信息存储到字符串中
data_out = ""
for i in range(len(data)):
if b[i+1][1] > a[i+1][1]:
data_out += "1"
else:
data_out += "0"
print("Extracted data: " + data_out)
这段代码的具体含义是从第二个低频系数中提取出了嵌入的二进制信息。
总结:
上述方法是一种比较简单且常用的信息隐藏方法,可以在明文图像中实现,同时嵌入率大于等于二,并且能够实现可逆性。当然,图像信息隐藏领域还有很多其他的方法和算法,可以根据具体的需求选择合适的方法。