matlab置乱图像复原

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab置乱图像复原相关的知识,希望对你有一定的参考价值。

matlab置乱图像复原
function b=modifyImage(flower)
a=imread('D:\Backup\我的文档\MATLAB\flower.jpg');
T=1;
b=a;
figure;
imshow(b);
while T<13
for x=1:size(a,1)
for y=1:size(a,2)
x1=mod(x+y,size(a,1));
y1=mod(x+2*y,size(a,2));
temp(x1+1,y1+1)=a(x,y);
end
end
a=temp;
T=T+1;
end
figure;
imshow(a);

怎么还原啊

首先,你恢复后的图像就是imshow(b),所以没必要做复原。如果只知道imshow(a);那么根据你的算法也无法进行复原,因为你置乱的算法不具有可逆性。
有兴趣你可以通过数据方法证明:即对矩阵中的元素取余具有不可逆性。
举一个简单的例子:
mod(5,3)=2 %5对3取余
那么当你知道2和3怎么得到5呢?答案是不可能,因为你可以得到5,8,11.....你不知道哪个才是你真正要的答案。
参考技术A ps:本人不是学图像处理的,可能见解不是很正确。

变换的核心在:
x1=mod(x+y,size(a,1));
y1=mod(x+2*y,size(a,2));
类似坐标变换
x1=x+y;
y1=x+2*y;
求出改变换的逆变换应该会有点帮助。逆变换为:
x=2*x1-y1;
y=-x1+y1;
按照相同的操作变化就行了。

变换程序如下:
function modifyImage_again
a=imread('D:\我的文档\logo_modif.jpg');
T=1;
b=a;
figure;
imshow(b);
while T<13
for x=1:size(a,1)
for y=1:size(a,2)
x1=mod(2*x-y,size(a,1));
y1=mod(-x+y,size(a,2));
temp(x1+1,y1+1)=a(x,y);
end
end
a=temp;
T=T+1;
end
figure;
imshow(a);本回答被提问者采纳
参考技术B f=checkerboard(8);
%读图像
psf=fspecial('gaussian',7,10);
%高斯核
sd=0.01;%噪声标准差
g=imnoise(imfilter(f,psf),'gaussian',0,sd^2);%图像中加入模糊核噪声
subplot(3,2,1);%三子图第一张
imshow(f),title('(a)');%画原图
subplot(3,2,2);%三子图第二张
imshow(g),title('(b)');%画降质图像
dampar=10*sd;%去模糊参数
lim=ceil(size(psf,1)/2);%坐标缩影
weight=zeros(size(g));%去模糊权重初始化
weight(lim+1:end-lim,lim+1:end-lim)=1;%去模糊权重赋值
numit=5;%迭代次数
f5=deconvlucy(g,psf,numit,dampar,weight);%去模糊
subplot(3,2,3);%三子图第三张
imshow(f5),title('(c)');%画复原图像

图像加密基于matlab GUI Arnold置乱图像加密解密含Matlab源码 1239期

一、Arnold置乱图像加密解密简介

0 前言
网络已经成为我们传递信息的主要平台, 为我们提供诸多便捷的同时, 也存在一些安全问题, 特别是一些重要信息的传递.如果在信息传递前先对其进行加密, 能够在一定程度上保护所传递的信息.数字图像作为重要的信息资源在人们的生活中发挥着越来越重要的作用[1], 因此, 数字图像的加密是一项值得研究的重要课题.本文介绍的就是一种基于Arnold变换的图像加解密算法。

1 Arnold变换
将N*N图像上的点 (x, y) 通过如下变换转成 (x′, y′) 如式 (1) , 该变换即称为Arnold变换.通过变换公式可发现, 其变换的本质是点的位置的变换, 并且这种变换保证变换前后的点保持一一对应的关系。

如果将一次变换的输出作为下一次变换的输入, 这就是迭代变换如式 (2) .当一次变换置乱效果不佳时, 往往需要迭代变换获得更好的置乱效果。

2 基于Arnold变换的图像加解密
图像加密也称图像置乱, 是对图像的像素进行混乱和扩散, 使加密后的图像在视觉上无法获得有效信息.空域加密是常用的方法, 分为空域置乱和序列加密.空域置乱是对像素坐标进行变换使其混乱, 解密时恢复原像素坐标.图像的加密既可以作为独立的信息隐藏方法, 也可以用来作为数字水印技术中图像水印的预处理。

加密图像可以是灰度图像也可以是彩色图像, 如果是灰度图像则需要将各点的灰度值带到新的坐标点, 如果是彩色图像则需要将各点的RGB值带到新的坐标点.本文所加密的图像为彩色图像, 因此首先保存原图点 (x, y)

以上是关于matlab置乱图像复原的主要内容,如果未能解决你的问题,请参考以下文章

基于matlab的退化图像复原------逆滤波复原

基于matlab的退化图像复原------维纳滤波复原

图像复原MATLAB实现

基于matlab的退化图像复原------Lucy-Richarson滤波复原

基于matlab的退化图像复原------图像退化处理

图像修复基于约束最小二乘方滤波实现图像复原matlab源码GUI