%的主要思想是從兩幅圖像中選擇信息,然後將它們混合成壹幅圖像。
%這樣,按照上述思路,我們就可以從多幅(2*n)待加密圖像中得到半幅(n)圖像。
%的所得圖像用自適應算法隱藏,可以得到(n-1)幅圖像。
% (n-1)個圖像進行Arnold變換,得到(n-1)個圖像作為密鑰。此外,密鑰還具有叠代次數、置亂規則和Arnold加密規則。
%的主要缺點是阿諾德周期長,程序運行時間長,我的電腦需要8分鐘。此外,阿諾德只能處理方塊。
%圖像的置亂加密算法有很多,本程序使用的置亂加密算法只是其中之壹。它只是提出了壹個多圖加密的思路,後期還有很多工作要做。
%讀入四幅圖像
f 1 = im read(' Lena . gif ');
F2 = imread(' monkey . gif ');
F3 = im read(' house . gif ');
F4 = imread(' camera tor . gif ');
%的圖像置亂
pic 1 _ zhi Luan = zhi Luan(f 1,F2);
pic2_zhiluan = zhiluan(F3,F4);
%顯示加密圖像
pic 1 _ zhi Luan = uint 8(pic 1 _ zhi Luan);
圖,imshow(pic1_zhiluan),標題(' pic1 zhiluan ')
pic 2 _ zhi Luan = uint 8(pic 2 _ zhi Luan);
圖,imshow(pic2_zhiluan),標題(' pic2 zhiluan ')
%隱藏兩個加擾圖像。
X1 = input('請輸入混合叠代參數:');
pic 1 _ hide = hide(pic 1 _ zhi Luan,X1,pic 2 _ zhi Luan);
%通過Arnold置亂加密隱藏圖像。
Diedai1 = input('請輸入壹個叠代參數:')
pic 1 _ jiami = Arnold(pic 1 _ hide,diedai1,0);
%顯示加密圖像。
pic 1 _ jiami = uint 8(pic 1 _ jiami);
圖,imshow(pic 1 _ jiamii),標題(' pic 1 jiamii ')
Diedai2 = input('請輸入叠代參數:')
pic2_jiami = Arnold(pic2_zhiluan,diedai2,0);
pic 2 _ jiami = uint 8(pic 2 _ jiami);
圖,im show(pic 2 _ jiamii),標題(' pic2 jiami ')
%解密圖像
pic 1 _解蜜=阿諾(pic 1 _加米,diedai1,1);
pic 2 _解蜜=阿諾(pic 2 _加米,diedai2,1);
%恢復隱藏的圖像
pic 1 _惠府=惠府(pic 1 _解蜜,X1,pic2 _解蜜);
%置亂逆處理,得到恢復的圖像。
[image1,image2]= ni _ zhi Luan(pic 1 _慧芙);
[image3,image4] =倪_誌亂(pic2 _解蜜);
%顯示每個圖像
f 1 = uint 8(f 1);
圖,imshow(F1),標題(' f 1 ');
圖,imhist (f1),標題(' f1的直方圖');
image 1 = uint 8(image 1);
圖,imshow(image1),標題(' image 1 ');
圖,imhist(圖像1),標題('圖像1的直方圖');
F2 = uint 8(F2);
圖,imshow(F2),標題(' F2 ');
圖,imhist (F2),標題(' F2的直方圖');
image2 = uint 8(image2);
圖,imshow(image2),標題(' image2 ');
Figure,IMHIST (Image2),Title(' Image2的直方圖');
F3 = uint 8(F3);
圖,imshow(F3),標題(' F3 ');
圖,imhist(F3),標題(' F3直方圖');
image3 = uint 8(image3);
圖,imshow(image3),標題(' image3 ');
圖,imhist(圖3),標題('圖3的直方圖');
F4 = uint 8(F4);
圖,imshow(F4),標題(' F4 ');
圖,imhist(F4),標題(' F4直方圖');
image4 = uint 8(image4);
圖,imshow(image4),標題(' image4 ');
圖,imhist(圖像4),標題(“圖像4的直方圖”)