???错误:文件:generation1.m行:43列:1在提示符或脚本中不允许使用函数定义

时间:2013-04-15 08:42:56

标签: image matlab image-processing

1.通过应用DCT将图像带到频域

2.生成水印信号

3.使用原始图像的千个最大系数来嵌入长度为1000的水印序列。

4.使用下面的等式,根据消息的流比特修改系数

| CAW = CA(1 +αWi)|

5.提取过程 - 简单地从水印图像系数中减去原始DCT系数

function WM_plot(r,c,ext_wm,orig_wm)  
  for k=1:1000
  wm=randn(r,c);%depending on the size of the watermark
  wm=uint8(wm);%if necessary
  store(k)=WM_detect(ext_wm,wm);%wrong watermarks
  if k == 400
    store(k)=WM_detect(ext_wm,orig_wm);%original watermark detection
   end
  end
  figure(1),plot(1:k,[store]),ylabel('Watermark detector   response'),xlabel('random        watermarks');
  hold on
  %threshold calculation
      [peak,ind]=sort(store,'descend');
    threshold=peak(2)+(peak(2)*0.1);%T=second highest peak+10percentof the same
   figure(1),plot(1:1000,[threshold],'red');
   hold on
   figure(1),plot(1:1000,peak(2),'green');  

1 个答案:

答案 0 :(得分:2)

错误«在提示符或脚本中不允许使用函数定义» - 告诉您尝试在错误的位置定义函数。根据{{​​3}}的类似问题,你应该:

将每个函数写入编辑器文件并将其保存为函数标题,例如:

function hello_world(hObject,evt)
  fprintf(2,'Hello World!');
end

保存在hello_world.m

之后,您应该从主应用程序中调用您的函数。