混沌系统对图像的每个像素位二值进行循环移位
2012-03-05 18:52
267 查看
缺点:轮廓仍旧可见,最好和对像素点的移位结合起来使用。
加密图像放大效果,可以看出轮廓很明显。
function chaoticDemoForBitShift %应用混沌序列对数字图像的行和列置乱 %针对每一个像素位进行循环,由混沌序列控制每一位循环的位数 %为了提高鲁棒性,可以考虑循环多次 %双重循环一个控制循环的次数,另一用来遍历所有元素(将[m n]数组作为[1 m*n]看待) %本算法的一个缺点是,像素0和255,不论如何移位,值都不会发生变化 % 因此被这些区域包围的区域,形状并不会改变,需要注意 %程序设计:李立宗 %2012年3月5日 % http://blog.csdn.net/superdont % lilizong【at】Gmail clear; clc; [filename pathname]=uigetfile('*.bmp;*.tiff;*.tif', '读入图像'); os=[pathname filename]; %os原始图像的路径 o=imread(os); % figure,imshow(o); %计算原始图像的大小 [m n]=size(o); %为了节省时间可以把m,n设置小一点测试一下 % m=80; % n=120; keyTimes=1; chaoticSeq=zeros(keyTimes,m*n); bitChaoticSeq=zeros(keyTimes,m*n); chaoticSeq(1)=0.539; for i=2:keyTimes*m*n chaoticSeq(i)=1-2*chaoticSeq(i-1)*chaoticSeq(i-1); end for i=1:keyTimes*m*n bitChaoticSeq(i)=mod(round(chaoticSeq(i)*100),8); end oSec=o; temp=0; %临时值 for i=1:keyTimes for j=1:m*n % oSec(j)=bin2dec(circshift(dec2bin(o(j),8),[0 bitChaoticSeq(j)])); % oSec(j)=bin2dec(circshift(dec2bin(bitxor(o(j),255)),[0 2])); temp=dec2bin(o(j),8); %转为8位2进制形式 temp=circshift(temp,[0 bitChaoticSeq(j)]); %按照混沌值移位 temp=bin2dec(temp); %转换为十进制 oSec(j)=temp; %赋给加密图像对应像素位 end end oResult=oSec; for i=1:keyTimes for j=1:m*n oResult(j)=bin2dec(circshift(dec2bin(oSec(j),8),[0 8-bitChaoticSeq(j)])); end end figure, subplot(1,3,1),imshow(o),title('原始图像'); subplot(1,3,2),imshow(oSec,[]),title('加密图像'); subplot(1,3,3),imshow(oResult,[]),title('解密图像'); %因为放在一个窗口内图像比较小,不便于测试,如下代码用于测试。 figure,imshow(o); figure,imshow(oSec,[]); figure,imshow(oResult,[]);
加密图像放大效果,可以看出轮廓很明显。
相关文章推荐
- 混沌系统加密图像(通过行和列上进行循环移位实现)
- 一张图像表示成NxN的矩阵,图像中每个像素是4个字节,写一个函数把图像旋转90度。 你能原地进行操作吗?(即不开辟额外的存储空间)
- 混沌系统实现图像行循环移位加密
- 混沌循环移位加密图像
- opencv访问图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值
- 访问Mat图像中每个像素的值
- 混沌系统在图像列的方向上加密
- 快速对图像的像素进行操作 opencv 实战
- 访问Mat图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值
- 访问Mat图像中的每个像素的值和IplImage格式图像中每个像素的值
- (转载)快速对图像的像素进行操作 opencv 实战
- 让系统每七天进行一次循环备份
- Javascript闭包--循环中可以将每个对象当参数进行传递
- 【OpenCV】访问图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值 (I)
- 访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值 (II)