声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2106|回复: 2

[图像处理] 求助:Arnold置乱变换的问题

[复制链接]
发表于 2007-4-19 12:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用Arnold置乱变换做图像加密,程序写出来了但是结果却不对,经过周期变换后不能恢复原图,下面是程序,请大家帮我看看那里有问题了~~


function embedimage=arnold1(embedimage,N)
[m,n]=size(embedimage);
a=double(embedimage)/255;
for k=1:N
    for i=1:m
        for j=1:n
            x=i+j;
            y=i+2*j;
            if x>m
                x=mod(x,m);
            end;
            if y>m
                y=mod(y,m);
            end;
            if x==0
                x=m;
            end;
            if y==0
                y=m;
            end;
            a1(x,y)=a(i,j);
        end
    end
    embedimage1=a1;
end
imshow(embedimage1)

还有就是怎么样才能对彩色的图像进行8*8的DCT变换?????
回复
分享到:

使用道具 举报

发表于 2007-4-19 13:08 | 显示全部楼层
原帖由 xpmax007 于 2007-4-19 12:12 发表
用Arnold置乱变换做图像加密,程序写出来了但是结果却不对,经过周期变换后不能恢复原图,下面是程序,请大家帮我看看那里有问题了~~


function embedimage=arnold1(embedimage,N)
=size(embedimage);
a=doub ...



1. a1没有预先定义及分配空间
2. embedimage1 在外循环(k那个)中重复使用,最后 imshow 的是 k=N 那个,前面的迭代不起作用
3. 有空、有能力的话,建议去掉里面的两个循环

建议先看看matlab基础书,不要太急
 楼主| 发表于 2007-4-19 17:07 | 显示全部楼层
非常感谢eight   问题已经解决   不过新的问题又出来了.........置乱还原后的图像变成灰度图了........5555555不知道怎么回事,是不是还要分成RGB3个通道分别处理最后再合成呢?

[ 本帖最后由 eight 于 2007-4-19 17:10 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-24 15:29 , Processed in 0.055958 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表