【发布时间】:2020-02-16 16:41:47
【问题描述】:
我想使用 LSB(最低有效位)将字符串隐藏(不可见水印)到图像 (283*283) 算法。用户给出隐藏的消息(字符串),然后我将所有字符的 ascii 代码(base 2)放在一个列表中,现在我想将此列表设为与我的图像大小相同的二维数组,然后我可以使用 '&' 和 '| '运营商。
import cv2 as cv
#read image:
img=cv.imread('C:/Users/pc/Desktop/cameraman.jpg',0)
cv.imshow("ax bedoon ramz",img)
cv.waitKey()
#make least significant bit of each pixel 0 :
img_r=img&0b11111110
img_w=img_r.copy()
#take message and make sure it can hide in 283*283 image :
while True:
txt=input('chi maikhay ghayem koni ? (max = 10000 character) : ')
if len(txt)>10000:
print('out of range characters ! ! ! ')
else :
break
#put characters ascii code in list :
ch_ascii_base2 = [bin(ord(i))[2:] for i in txt]
result=[]
for ch in ch_ascii_base2:
for val in ch:
result.append(bin(int(val))[2:])
【问题讨论】:
-
好的,你有什么问题?
标签: python opencv image-processing steganography