How to encode images using chaotic mapping?

Hi everyone, I want to encode images using chaotic mappings. I divided it into 3 steps: bit permutation, pixel permutation, block permutation. I use logistic mapping as the key to encrypt. I hope everyone will guide me to write this program. I tried the program but not. Thanks very much.

4 件のコメント

Geoff Hayes
Geoff Hayes 2018 年 5 月 18 日
Huong - can you show us what you have tried so far?
Huong Hoang
Huong Hoang 2018 年 5 月 19 日
Yes. But I think it is totally wrong. I bit permutation by converting the binary pixel R, G, B in a pixel image. But I did not know how to do it, because I study by myself so it took a lot of time. Can you help me show code? Very grateful to you.
Image Analyst
Image Analyst 2018 年 5 月 19 日
Probably no one has such a program, nor would be inclined to read and understand a paper and then code it up. Good luck though. If you have a smaller, more specific/target question though, feel free to ask.
Huong Hoang
Huong Hoang 2018 年 5 月 19 日
Hello Image Analyst, this is my code. I want in a pixel, each bit of the image plane R, G, B will be permutation using Logistic map: x (n + 1) = r * x (n) * (1-x (n)). Can you see and fix me?
function key = creatkey(m);
a = imread('E:\_temp_matlab_R2018a_win64\bin\y.jpg');
m=length(a);
r=3.7
x(1)=0.4
for i=2:m
x(i)= r*x(i-1)*(1-x(i-1));
end
disp(x)
[heigth,width,~]=zeros(0);
a=24*width*heigth
binary=zeros(1,n)
k=1
for i=1:heigth
for j=1:width
bin = c(i,j,1);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end
for j=1:width
bin = c(i,j,2);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end
for j=1:width
bin = c(i,j,3);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end

サインインしてコメントする。

回答 (2 件)

Chandu Sree
Chandu Sree 2020 年 2 月 10 日

0 投票

function key = creatkey(m);
a = imread('E:\_temp_matlab_R2018a_win64\bin\y.jpg');
m=length(a);
r=3.7
x(1)=0.4
for i=2:m
x(i)= r*x(i-1)*(1-x(i-1));
end
disp(x)
[heigth,width,~]=zeros(0);
a=24*width*heigth
binary=zeros(1,n)
k=1
for i=1:heigth
for j=1:width
bin = c(i,j,1);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end
for j=1:width
bin = c(i,j,2);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end
for j=1:width
bin = c(i,j,3);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end
Chandu Sree
Chandu Sree 2020 年 2 月 10 日

0 投票

function key = creatkey(m);
a = imread('E:\_temp_matlab_R2018a_win64\bin\y.jpg');
m=length(a);
r=3.7
x(1)=0.4
for i=2:m
x(i)= r*x(i-1)*(1-x(i-1));
end
disp(x)
[heigth,width,~]=zeros(0);
a=24*width*heigth
binary=zeros(1,n)
k=1
for i=1:heigth
for j=1:width
bin = c(i,j,1);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end
for j=1:width
bin = c(i,j,2);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end
for j=1:width
bin = c(i,j,3);
bin1 = dec2bin(binary);
for i=1:8
if bin1(i)=='1'
binary(k)=1
k=k+1
end
end
end

2 件のコメント

Amani Theramban
Amani Theramban 2020 年 3 月 28 日
any one here to do the Novel Medical Image Encryption Scheme Based
on Chaos and DNA Encoding project??
Rik
Rik 2020 年 4 月 18 日
It is unclear to me what this comment has to with this thread or this answer in particular.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeImages についてさらに検索

質問済み:

2018 年 5 月 18 日

コメント済み:

Rik
2020 年 4 月 18 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by