1.如何用MATLAB神经网络工具箱创建BP神经网络模型?具体有哪些步骤?2.如何把输
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/25 02:18:14
1.如何用MATLAB神经网络工具箱创建BP神经网络模型?具体有哪些步骤?2.如何把输
由于本人的财富有限,不能给高手财富的报答,但是我真心实意感谢您!
由于本人的财富有限,不能给高手财富的报答,但是我真心实意感谢您!
![1.如何用MATLAB神经网络工具箱创建BP神经网络模型?具体有哪些步骤?2.如何把输](/uploads/image/z/15587930-2-0.jpg?t=1.%E5%A6%82%E4%BD%95%E7%94%A8MATLAB%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E5%B7%A5%E5%85%B7%E7%AE%B1%E5%88%9B%E5%BB%BABP%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E6%A8%A1%E5%9E%8B%3F%E5%85%B7%E4%BD%93%E6%9C%89%E5%93%AA%E4%BA%9B%E6%AD%A5%E9%AA%A4%3F2.%E5%A6%82%E4%BD%95%E6%8A%8A%E8%BE%93)
%人脸识别模型,脸部模型自己找吧.
function mytest()
clc;
images=[ ];
M_train=3;%表示人脸
N_train=5;%表示方向
sample=[];
pixel_value=[];
sample_number=0;
for j=1:N_train
for i=1:M_train
str=strcat('Images\',num2str(i),'_',num2str(j),'.bmp'); %读取图像,连接字符串形成图像的文件名.
img= imread(str);
[rows cols]= size(img);%获得图像的行和列值.
img_edge=edge(img,'Sobel');
%由于在分割图片中我们可以看到这个人脸的眼睛部分也就是位于分割后的第二行中,位置变化比较大,而且眼睛边缘检测效果很好
sub_rows=floor(rows/6);%最接近的最小整数,分成6行
sub_cols=floor(cols/8);%最接近的最小整数,分成8列
sample_num=M_train*N_train;%前5个是第一幅人脸的5个角度
sample_number=sample_number+1;
for subblock_i=1:8 %因为这还在i,j的循环中,所以不可以用i
block_num=subblock_i;
pixel_value(sample_number,block_num)=0;
for ii=sub_rows:(2*sub_rows)
for jj=(subblock_i-1)*sub_cols+1:subblock_i*sub_cols
pixel_value(sample_number,block_num)=pixel_value(sample_number,block_num)+img_edge(ii,jj);
end
end
end
end
end
%将特征值转换为小于1的值
max_pixel_value=max(pixel_value);
max_pixel_value_1=max(max_pixel_value);
for i=1:3
mid_value=10^i;
if(((max_pixel_value_1/mid_value)>1)&&((max_pixel_value_1/mid_value)
function mytest()
clc;
images=[ ];
M_train=3;%表示人脸
N_train=5;%表示方向
sample=[];
pixel_value=[];
sample_number=0;
for j=1:N_train
for i=1:M_train
str=strcat('Images\',num2str(i),'_',num2str(j),'.bmp'); %读取图像,连接字符串形成图像的文件名.
img= imread(str);
[rows cols]= size(img);%获得图像的行和列值.
img_edge=edge(img,'Sobel');
%由于在分割图片中我们可以看到这个人脸的眼睛部分也就是位于分割后的第二行中,位置变化比较大,而且眼睛边缘检测效果很好
sub_rows=floor(rows/6);%最接近的最小整数,分成6行
sub_cols=floor(cols/8);%最接近的最小整数,分成8列
sample_num=M_train*N_train;%前5个是第一幅人脸的5个角度
sample_number=sample_number+1;
for subblock_i=1:8 %因为这还在i,j的循环中,所以不可以用i
block_num=subblock_i;
pixel_value(sample_number,block_num)=0;
for ii=sub_rows:(2*sub_rows)
for jj=(subblock_i-1)*sub_cols+1:subblock_i*sub_cols
pixel_value(sample_number,block_num)=pixel_value(sample_number,block_num)+img_edge(ii,jj);
end
end
end
end
end
%将特征值转换为小于1的值
max_pixel_value=max(pixel_value);
max_pixel_value_1=max(max_pixel_value);
for i=1:3
mid_value=10^i;
if(((max_pixel_value_1/mid_value)>1)&&((max_pixel_value_1/mid_value)