类似下面程序,但是是用rbf神经网络的matlab的源程序是什么啊? 5
%读入原始水印%%%%%x=imread('C:\Users\sun\Desktop\S.jpg');[row,col]=size(x);M=row;N=col;MN=c...
%读入原始水印%%%%%
x=imread('C:\Users\sun\Desktop\S.jpg');
[row,col]=size(x);
M=row;
N=col;
MN=col*row;
figure(1);imshow(x);
title('yuantu');
x_source=x;
%%%读入水印图像%%%%%
m=imread('C:\Users\sun\Desktop\psb.jpg');
for i=1:256
for j=1:256
if double(m(i,j))==0
w(i,j)=0;
else
w(i,j)=1;
end
end
end
figure(2);imshow(m);
title('shuiyintuxiang');
%%%水印信息的嵌入%%%%%
s=x;
for i=1:256
for j=1:256
s(i,j)=bitset(x(i,j),3,w(i,j)); %%weizhi=3,数越大,水印越明显%%
end %%数越小,水印越模糊(最低有效位的来历)
end
imwrite(s,'lsb_watermarked.bmp');
figure(3);imshow(s);
title('qianrushuiyintuxiang');
会显示如上现象的!!! 展开
x=imread('C:\Users\sun\Desktop\S.jpg');
[row,col]=size(x);
M=row;
N=col;
MN=col*row;
figure(1);imshow(x);
title('yuantu');
x_source=x;
%%%读入水印图像%%%%%
m=imread('C:\Users\sun\Desktop\psb.jpg');
for i=1:256
for j=1:256
if double(m(i,j))==0
w(i,j)=0;
else
w(i,j)=1;
end
end
end
figure(2);imshow(m);
title('shuiyintuxiang');
%%%水印信息的嵌入%%%%%
s=x;
for i=1:256
for j=1:256
s(i,j)=bitset(x(i,j),3,w(i,j)); %%weizhi=3,数越大,水印越明显%%
end %%数越小,水印越模糊(最低有效位的来历)
end
imwrite(s,'lsb_watermarked.bmp');
figure(3);imshow(s);
title('qianrushuiyintuxiang');
会显示如上现象的!!! 展开
1个回答
展开全部
您好:
clc
clear all
close all
%---------------------------------------------------
% 产生训练样本与测试样本,每一列为一个样本
n1 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
x1 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
n2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
x2 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)]
xn_train = n1; % 训练样本
dn_train = x1; % 训练目标
xn_test = n2; % 测试样本
dn_test = x2; % 测试目标
%---------------------------------------------------
% 训练与测试
switch 3
case 1
% 神经元数是训练样本个数
P = xn_train;
T = dn_train;
spread = 40; % 此值越大,覆盖的函数值就大(默认为1)
net = newrbe(P,T,spread);
case 2
% 神经元数逐步增加,最多就是训练样本个数
P = xn_train;
T = dn_train;
goal = 1e-8; % 训练误差的平方和(默认为0)
spread = 40; % 此值越大,需要的神经元就越少(默认为1)
MN = size(xn_train,2); % 最大神经元数(默认为训练样本个数)
DF = 1; % 显示间隔(默认为25)
net = newrb(P,T,goal,spread,MN,DF);
case 3
P = xn_train;
T = dn_train;
spread = 0.5; % 此值越大,需要的神经元就越少(默认为1)
net = newgrnn(P,T,spread);
end
X = sim(net,xn_test); % 测试 - 输出为预测值
X = full(compet(X)) % 竞争输出
%---------------------------------------------------
% 结果统计
Result = ~sum(abs(X-x2)) % 正确分类显示为1
Percent = sum(Result)/length(Result) % 正确分类率
clc
clear all
close all
%---------------------------------------------------
% 产生训练样本与测试样本,每一列为一个样本
n1 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
x1 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
n2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
x2 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)]
xn_train = n1; % 训练样本
dn_train = x1; % 训练目标
xn_test = n2; % 测试样本
dn_test = x2; % 测试目标
%---------------------------------------------------
% 训练与测试
switch 3
case 1
% 神经元数是训练样本个数
P = xn_train;
T = dn_train;
spread = 40; % 此值越大,覆盖的函数值就大(默认为1)
net = newrbe(P,T,spread);
case 2
% 神经元数逐步增加,最多就是训练样本个数
P = xn_train;
T = dn_train;
goal = 1e-8; % 训练误差的平方和(默认为0)
spread = 40; % 此值越大,需要的神经元就越少(默认为1)
MN = size(xn_train,2); % 最大神经元数(默认为训练样本个数)
DF = 1; % 显示间隔(默认为25)
net = newrb(P,T,goal,spread,MN,DF);
case 3
P = xn_train;
T = dn_train;
spread = 0.5; % 此值越大,需要的神经元就越少(默认为1)
net = newgrnn(P,T,spread);
end
X = sim(net,xn_test); % 测试 - 输出为预测值
X = full(compet(X)) % 竞争输出
%---------------------------------------------------
% 结果统计
Result = ~sum(abs(X-x2)) % 正确分类显示为1
Percent = sum(Result)/length(Result) % 正确分类率
追问
这也不会出现图片啊!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询