matlab的简单基础方面的问题(紧急)

大家好,我是一个matlab的新手,现在在做一篇关于DCT域算法的论文,本来我没有学过matlab,结果导师叫我用matlab编写出来,我在网上找到下面的这段程序,我将其保存到一个M文件中,再在指令窗口中输入文件名执行出现:
??? Error: File: E:\MATALAB\work\DCTjiami.m Line: 13 Column: 9(注:在程序中已经标出)
Missing operator, comma, or semicolon.
错误提示,什么意思啊?
另外我有个疑问:
这个程序需要从硬盘读入图像以及一个文档(文档中为汉字),请问应该用什么方式读入啊?

%文件名:hidedctadv.m
%函数的功能:本函数用于DCT域的信息隐藏
%输入格式举例:
[count,msg,data]= hidedctadv('lenna.jpg', '1.jpg', '1.txt',1982,1);
%参数说明:
%image为载体图像
%imagegoal为藏有秘密信息的载体,即隐蔽载体
%msg 为带隐藏的信息
%key 为密钥,用来控制随机选块
%alpha 为控制量,用来保证编码的正确性
%count 为待隐藏信息的长度
%result 为隐藏结果
Function[count,msg,result]= hidedctadv(image,imagegoal,msg,key,alpha) %错误提示在这里!!!请问这里的几个参数如何读入
%按位读取隐藏信息
Frr=fopen(msg,'r');
[msg,count]=fread(frr,'ubit1');
Fclose(frr);
Data(0=imread(image);
%将图像矩阵为double型
Data0=double(data0)/255;
%取图像的一层做隐蔽
data=data0(:,:,1);
%对图像分块
T=dctmtx(8);
%对分块图像做DCT变换
DCTrgb=blkproc(data,[88],'P1*x*P2',T,T');
%产生随机的块选择,确定图像块的首地址
[row,col]=size(DCTrgb);
Row=floor(row/8);
Col=floor(col/8);
A=zeros([row col]);
[k1,k2]=randinterval(a,count,key);
for i=1:count
k1(1,i)=(k1(1,i)-1)*8+1;
k2(1,i)=(k2(1,i)-1)*8+1;
end
%信息嵌入

temp=0;
for i=1:count

if msg(I,1)==0

if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2)

temp=DCTrgb(k1(i)+4,k2(i)+1);

DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2);
DCTrgb(k1(i)+3,k2(i)+2)=temp;

end

else

if DCTrgb(k1(i)+4,k2(i)+1)<DCTrgb(k1(i)+3,k2(i)+2)

temp=DCTrgb(k1(i)+4,k2(i)+1);

DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2);

DCTrgb(k1(i)+3,k2(i)+2)=temp;

end

end
if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2)

DCTrgb(k1(i)+3,k2(i)+2)=DCTrgb(k1(i)+3,k2(i)+2)-alpha;
%将原本小的系数调整到更小

else

DCTrgb(k1(i)+4,k2(i)+1)= DCTrgb(k1(i)+4,k2(i)+1)-alpha;

end

end
%信息写回保存
DCTrgb1=DCTrgb;
Data=blkproc(DCTrgb,[8,8],'P1*x*P2',T',T);
Result=data0;
Result(:,:,1)=data;
Inwrite(result,imagegoal);
简单描述下这段程序就是载入原图像image,然后在其中嵌入msg隐藏信息,密钥为key,并且嵌入msg的参数为alpha,最后生成的带有隐藏信息的图像为imagegoal。即下面这个函数:
Function[count,msg,result]=hidedctadv(image,imagegoal,msg,key,alpha)
我主要是弄不懂,如何将image,msg调入到程序中啊,imagegoal应该是后面生成的吧!!

Function[count,msg,result]= hidedctadv(image,imagegoal,msg,key,alpha) %错误提示在这里!!!请问这里的几个参数如何读入

将Function改成function
在保证work文件下有 lena.jpg,1.jpg,1.txt
参数的输入:
image=imread('lena.jpg');
imagegoal=imread('1.jpg');
msg=textread('1.txt');
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-05-02
前半句改成function [
后面的不变

好像是格式的问题 差空格
相似回答