日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

混沌理论作业简析——两人一组_图像加密解密小游戏

發(fā)布時(shí)間:2023/12/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 混沌理论作业简析——两人一组_图像加密解密小游戏 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

🍊作者簡(jiǎn)介:禿頭小蘇,致力于用最通俗的語言描述問題

🍊往期回顧:霍夫直線檢測(cè)原理詳解 ? 霍夫直線檢測(cè)代碼實(shí)戰(zhàn)

🍊近期目標(biāo):擁有2000粉絲
🍊支持小蘇:點(diǎn)贊👍🏼、收藏?、留言📩

??
?

寫在前面

??最近混沌理論的課程要求倆人一組進(jìn)行圖像的加密和解密,即一個(gè)人來對(duì)一張圖像進(jìn)行加密,另一個(gè)人對(duì)加密后的圖像進(jìn)行解密。🥗🥗🥗對(duì)圖像加密的方式有很多種,很自然的想法就是在圖像中加入一些隨機(jī)的噪點(diǎn),讓原始圖像變得不清晰。當(dāng)然方法太多太多,感興趣的小伙伴可以在評(píng)論區(qū)說說你的想法喔🍐🍐🍐
??先來說一下這節(jié)我的思路【我也是才學(xué),加密方式不好勿噴👰👰👰】對(duì)于加密:我主要采用的是對(duì)一張圖像的三個(gè)通道分別進(jìn)行加密,具體加密方式是通過生成隨機(jī)矩陣來和不同通道的圖像進(jìn)行異或運(yùn)算。對(duì)于解密:解密者需要得到加密后的圖像和生成的隨機(jī)矩陣方可解密。下面直接看代碼:

??首先是導(dǎo)入一些必要的庫及定義了一個(gè)畫圖的函數(shù)【這樣方便后面畫圖啦】

import cv2 #opencv讀取的格式是BGR import matplotlib.pyplot as plt import numpy as np %matplotlib inline def cv_show(name,img):cv2.imshow(name,img) cv2.waitKey(0) cv2.destroyAllWindows()

?



加密

img = cv2.imread('Lenna.png') cv_show('img',img) # 顏色通道獲取 b,g,r=cv2.split(img) Rand = np.random.randint(0, 256, size=(3,256, 256), dtype=np.uint8) np.save("Rand.npy", Rand) #將Rand數(shù)組存儲(chǔ)下來 # 分別對(duì)3個(gè)通道進(jìn)行異或 b_rand = cv2.bitwise_xor(b, Rand[0]) g_rand = cv2.bitwise_xor(g, Rand[1]) r_rand = cv2.bitwise_xor(r, Rand[2]) img_encryption = cv2.merge((b_rand,g_rand,r_rand)) cv_show('img_encryption',img_encryption) cv2.imwrite('img_encryption.png',img_encryption) #保存加密圖像

輸出結(jié)果:

?

解密

Rand1 = np.load("Rand.npy") #將Rand數(shù)組讀取出來 img_encryption = cv2.imread('img_encryption.png') #讀取加密圖像 b_rand,g_rand,r_rand=cv2.split(img_encryption) b_rec = cv2.bitwise_xor(b_rand, Rand1[0]) g_rec = cv2.bitwise_xor(g_rand, Rand1[1]) r_rec = cv2.bitwise_xor(r_rand, Rand1[2]) img_decode = cv2.merge((b_rec,g_rec,r_rec)) cv_show('img_decode',img_decode)

輸出結(jié)果:

?

思考

??我們這里可以進(jìn)行一些思考,即是否可以采用其他的一些加密方式,這里提供我的一些思路【隨便想的,不一定保證正確】:

  • 不采用隨機(jī)矩陣進(jìn)行異或,而是讓圖片自身進(jìn)行異或,這樣的好處是解密時(shí)不需要提供隨機(jī)矩陣,而是僅僅提供一張加密后圖片即可進(jìn)行解密,壞處也很明顯,那就是不安全。
  • 能否改變圖片的通道順序?qū)ζ浼用?/li>
  • 對(duì)一張圖像進(jìn)行卷積進(jìn)行加密,然后利用反卷積解密

感興趣的大家可以一些來思考,把靈感留在評(píng)論區(qū),萬分感謝🙏🙏🙏

?
?
如若文章對(duì)你有所幫助,那就🛴🛴🛴

咻咻咻咻~~duang~~點(diǎn)個(gè)贊唄

總結(jié)

以上是生活随笔為你收集整理的混沌理论作业简析——两人一组_图像加密解密小游戏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。