openCV簡單加密及解密影像
通過按位異或運算可以實作圖片的加密和解密,程序如下:
先將讀取到的原始影像與密鑰影像進行按位異或,可以實作加密;將加密后的 影像與密鑰影像再按位異或,可以實作解密,
import cv2
import numpy as np
lena = cv2.imread("lena.bmp",0) #讀取圓是影像(即明文影像)
r,c=lena.shape
key=np.random.randint(0,256,size=[r,c],dtype=np.uint8) #密鑰影像,由亂數生成
encryption = cv2.bitwise_xor(lena,key) #加密影像,是由明文影像lena和密鑰影像key通過按位異或運算得到
decryption = cv2.bitwise_xor(encryption,key) #解密影像,由加密影像encryption和密鑰影像key通過按位異或得到
cv2.imshow("lena",lena) #顯示影像
cv2.imshow("key",key)
cv2.imshow("encryption",encryption)
cv2.imshow("decryption",decryption)
cv2.waitKey()
cv2.destroyAllWindows()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300835.html
標籤:其他
