Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-09-13, 09:15   #1
jixiaoning
初级会员
 
注册日期: 2008-09-13
年龄: 44
帖子: 1
声望力: 0
jixiaoning 正向着好的方向发展
问题 [求助]我做的一个Arnold置乱程序有以下错误,请哪位指教一下!谢谢!

%Arnold变换改进
function Y=ArnoldTranslation(M,X)
clc;
clear all;
%Arnold变换改进
clock
X='E:\论文\我的论文集\test\lennagray.bmp';
% ste_cover=imread(X);
% ste_cover=double(ste_cover);
% [M,N]=size(X);
M=256;
for i=1:M
m(:,i)=(i-1)*ones(M,1);
end %构造每列相同,按列递增的矩阵
m1=cat(3,m',m);%转置后,每行相同,按行递增
n=imread(X);
m1(:,:,3)=n;
m1=double(m1);
for j=1:M
for i=1:M
m2(:,i,j)=[1 1;1 2]*[m1(i,j,1);m1(i,j,2)];
%Arnold变换定义:[x';y']=N*[x;y] (还未取模)
end
end
%m2维数:2*M*M
m3=mod(m2,M);%取模
%变维
for j=1:2
for i=1:M
m4(:,i,j)=m3(j,:,i);
end
end
%m3维数:M*M*2
M4(:,:,3)=m1(:,:,3); %与图层关联
%第一层坐标调整(列移动),第二,三随之变换
m5=zeros(M,M,3);
for j=1:M
m5(j:M,j,=m4(1:M+1-j,j,;
m5(1:j-1,j,=m4(M+2-j:M,j,;
end
%第二层坐标调整,第三层随之变化
m6=zeros(M,M,3);
for j=1:M
m6(j,j:M,2:3)=m5(j,1:M+1-j,2:3);
m6(j,1:j-1,2:3)=m5(j,M+2-j:M,2:3);
end
%保存,显示
m7=uint8(m6(:,:,3));
imwrite(m7,'E:\论文\我的论文集\test\arnold1.bmp');
subplot(2,1,1);
imshow(n,[]);
title('原始图像');
subplot(2,1,2);
imshow(m7,[]);
title('Arnold变换');
clock



ans =

1.0e+003 *

2.0020 0.0090 0.0130 0.0080 0.0370 0.0054

??? Subscripted assignment dimension mismatch.

Error in ==> C:\MATLAB6p5\work\ArnoldTranslation.m
On line 38 ==> m5(j:M,j,=m4(1:M+1-j,j,;

>>
jixiaoning 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 10:49


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.