我的一个matlab程序,发现运行后出现了问题,求大神解决

clc%清屏clear%清空变量closeall%关闭已打开图像%读入载体图像并显示cover_object=imread('orign.jpg');ifndims(co... clc %清屏
clear %清空变量
close all %关闭已打开图像
% 读入载体图像 并显示
cover_object=imread('orign.jpg');
if ndims(cover_object)==3 %如果是rbg图像,则转化为灰度图像
cover_object=rgb2gray(cover_object);
end
figure;imshow(cover_object); %显示
title('载体图像');
% 读入水印图像 并显示
message=imread('shuiyin.jpg');
if ndims(message)==3 %如果是rbg图像,则转化为灰度图像
message=rgb2gray(message);
end
[Mm,Nm]=size(message);
message=double(message);
message=round(message./256); %转化为bit信息流,以便隐写
message=uint8(message);
figure;imshow(256*message); %显示
title('待隐藏信息');
%调用yinxie函数实现信息隐写
watermarked_image=yinxie(cover_object,message);
figure;imshow(watermarked_image,[])
title('已嵌入隐写信息的图像') %显示
% 程序代写&算法设计,联系qq:380238062,转载时请保留
%调用tiqu函数实现信息提取
watermark=tiqu(watermarked_image,Mm,Nm);
figure;imshow(watermark,[])%显示提取图像
title('提取后信息')

function watermarked_image=yinxie(cover_object,message);
% 获取载体图像的大小
[Mc,Nc]=size(cover_object);
% 获取水印图像的大小
[Mm,Nm]=size(message);
length_message=Mm*Nm;%信息长度
message(Mc,Nc)=0;
watermarked_image=cover_object;

%每一比特秘密信息都用载体图像的一个像素负载,如果秘密比特与像素灰度
%值的最低位相同,则不作修改;否则,若原始灰度值为奇数,则减1,若为
%偶数,则加1

% mod(cover_object(ii,jj),2) 获取图像cover_object处像素值的最低位
for ii = 1:Mc
for jj = 1:Nc
if mod(cover_object(ii,jj),2)==message(ii,jj)%判断是否相等
continue; %若相等,不作修改
else %否则
if mod(cover_object(ii,jj),2)==0 %若为偶,则加1
watermarked_image(ii,jj)=cover_object(ii,jj)+1;
else %若为奇,则减1
watermarked_image(ii,jj)=cover_object(ii,jj)-1;
end
end
end
end

错误提示:
Function definitions are not permitted at the prompt or in scripts.
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
漆颖0gE
2015-06-20 · TA获得超过374个赞
知道小有建树答主
回答量:207
采纳率:75%
帮助的人:141万
展开全部
错误提示已经很明显了,function后的语句必须另外保存为另外一个m文件
更多追问追答
追问
那具体该怎么解决啊
追答
把function(包括)以后的语句剪切出来,粘贴到另一个空白文件里, 并命名为watermarked_image.m,其它语句仍然留在原来那个文件里,运行之
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式