function [Feature,bmp,flag]=getFeature1(A)
% getFeature.m
% 提取64*64二值图像的特征向量
% input:
% A: 64*64矩阵
% output:
% Feature: 长度为14的特征向量
% bmp : 图像中的数字部分
% flag : 标志位,表示数字部分的宽高比
% 反色
A = ones(64) - A;
% 提取数字部分
[x, y] = find(A == 1);
% 截取图像中的数字部分
A = A(min(x):max(x),min(y):max(y));
% 计算宽高比和标志位
flag = (max(y)-min(y)+1)/(max(x)-min(x)+1);
if flag < 0.5
flag = 0;
elseif flag >=0.5 && flag <0.75
flag = 1;
elseif flag >=0.75 && flag <1
flag = 2;
else
flag = 3;
end
% 重新放大,将长或宽调整为64
rate = 64 / max(size(A));
% 调整尺寸
A = imresize(A,rate);
[x,y] = size(A);
% 不足64的部分用零填充
if x ~= 64
A = [zeros(ceil((64-x)/2)-1,y);A;zeros(floor((64-x)/2)+1,y)];
end;
if y ~= 64
A = [zeros(64,ceil((64-y)/2)-1),A,zeros(64,floor((64-y)/2)+1)];
end
%% 三条竖线与数字字符的交点个数 F(1)~F(3)
% 1/2 竖线交点数量
Vc = 32;
Num = 0;
for i = 1:64
Num = Num+A(i, Vc);
end
F(1) = Num;
% F(1) = sum(A(:,Vc));
% 5/12 竖线交点数量
Vc = round(64*3/12);
Num = 0;
for i = 1:64
Num = Num + A(i, Vc);
end
F(2) = Num;
% F(2) = sum(A(:,Vc));
% 7/12 竖线交点数量
Vc = round(64*9/12);
Num = 0;
for i = 1:64
Num = Num + A(i, Vc);
end
F(3)=Num;
% F(3) = sum(A(:,Vc));
%% 三条横线与数字字符的交点个数 F(4)~F(6)
% 1/2 水平线交点数量
Hc = 32;
Num = 0;
for i = 1:64
Num = Num + A(Hc, i);
end
F(4) = Num;
% F(4) = sum(A(Hc,:));
% 1/3 水平线处交点数量,
Hc = round(64/3);
Num = 0;
for i = 1:64
Num = Num + A(Hc, i);
end
F(5) = Num;
% F(5) = sum(A(Hc,:));
% 2/3水平线处交点数量
Hc = round(2*64/3);
Num = 0;
for i = 1:64
Num = Num + A(Hc, i);
end
F(6) = Num;
% F(6) = sum(A(Hc,:));
%% 两条对角线的交点数量
% 主对角线交点数,
x3 = 1;
y3 = 1;
Num = 0;
for i = 0:63
Num = Num+A(x3+i,y3+i);
end
F(7) = Num;
% F(7) = sum(diag(A));
% 次对角线交点数
x4 = 1;
y4 = 64;
Num = 0;
for i = 0:63
Num = Num + A(x4+i, y4-i);
end
F(8) = Num;
% F(8) = sum(diag(rot90(A)));
%% 小方块
% 右下角1/2小方块中的所有点
Num = 0;
for i = 32:64
for r = 32:64
Num = Num + A(i,r);
end
end
F(9) = Num/10;
% t = A(32:64,33:64);
% F(9) = sum(t(:))/10;
% 左上角1/2小方块中的所有点
Num = 0;
for i3 = 1:32
for r3 = 1:32
Num = Num + A(i3,r3);
end
end
F(10) = Num/10;
% t = A(1:32,1:32);
% F(10) = sum(t(:))/10;
% 左下角方块中的所有点
Num = 0;
for i4 = 1:32
for r4 = 32:64
Num = Num + A(i4,r4);
end
end
F(11) = Num/10;
% t = A(1:32,32:64);
% F(11) = sum(t(:))/10;
% 右上角方块中的所有点
Num = 0;
for i5 = 32:64
for r5 = 1:32
Num = Num + A(i5,r5);
end
end
F(12) = Num/10;
% t = A(32:64,1:32);
% F(12) = sum(t(:))/10;
% 下方2/3部分的所有像素点
Num = 0;
for i1 = 1:64
for r1 = 16:48
Num = Num + A(i1,r1);
end
end
F(13) = Num/20;
% t = A(1:64,16:64);
% F(13) = sum(t(:))/20;
% 右方2/3部分的所有像素点
Num = 0;
for i2 = 16:48
for r2 = 1:64
Num = Num + A(i2,r2);
end
end
F(14) = Num/20;
% t = A(16:48,1:64);
% F(14) = sum(t(:))/20;
Feature = F';
bmp = A;
没有合适的资源?快使用搜索试试~ 我知道了~
MATLAB神经网络原理与实例精解_matlab_基于概率神经网络的手写体数字识别
共1004个文件
bmp:1000个
m:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 115 浏览量
2022-04-09
23:54:02
上传
评论
收藏 651KB ZIP 举报
温馨提示
【达摩老生出品,必属精品,亲测校正,质量保证】 资源名:MATLAB神经网络原理与实例精解_matlab_基于概率神经网络的手写体数字识别 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的开发人员
资源推荐
资源详情
资源评论
收起资源包目录
MATLAB神经网络原理与实例精解_matlab_基于概率神经网络的手写体数字识别 (1004个子文件)
0_068.bmp 574B
2_051.bmp 574B
8_100.bmp 574B
9_013.bmp 574B
5_058.bmp 574B
7_045.bmp 574B
3_049.bmp 574B
9_043.bmp 574B
4_081.bmp 574B
0_096.bmp 574B
6_048.bmp 574B
8_061.bmp 574B
3_033.bmp 574B
4_072.bmp 574B
9_012.bmp 574B
1_033.bmp 574B
8_004.bmp 574B
6_008.bmp 574B
6_089.bmp 574B
3_038.bmp 574B
6_081.bmp 574B
8_040.bmp 574B
1_031.bmp 574B
0_071.bmp 574B
6_042.bmp 574B
7_079.bmp 574B
5_093.bmp 574B
1_069.bmp 574B
8_036.bmp 574B
9_032.bmp 574B
1_028.bmp 574B
9_069.bmp 574B
2_050.bmp 574B
3_025.bmp 574B
9_072.bmp 574B
1_032.bmp 574B
5_084.bmp 574B
3_003.bmp 574B
3_030.bmp 574B
3_063.bmp 574B
9_004.bmp 574B
0_085.bmp 574B
4_098.bmp 574B
6_032.bmp 574B
8_001.bmp 574B
7_094.bmp 574B
6_022.bmp 574B
4_093.bmp 574B
8_082.bmp 574B
6_068.bmp 574B
7_031.bmp 574B
8_029.bmp 574B
1_034.bmp 574B
2_027.bmp 574B
3_008.bmp 574B
1_029.bmp 574B
4_084.bmp 574B
7_070.bmp 574B
2_016.bmp 574B
8_087.bmp 574B
7_064.bmp 574B
3_081.bmp 574B
2_012.bmp 574B
8_085.bmp 574B
0_005.bmp 574B
0_100.bmp 574B
2_049.bmp 574B
3_085.bmp 574B
6_040.bmp 574B
4_009.bmp 574B
4_001.bmp 574B
8_071.bmp 574B
7_048.bmp 574B
7_028.bmp 574B
2_087.bmp 574B
9_062.bmp 574B
4_028.bmp 574B
3_091.bmp 574B
4_029.bmp 574B
8_056.bmp 574B
2_072.bmp 574B
4_066.bmp 574B
9_026.bmp 574B
6_038.bmp 574B
3_095.bmp 574B
9_100.bmp 574B
3_002.bmp 574B
6_083.bmp 574B
0_065.bmp 574B
8_081.bmp 574B
7_061.bmp 574B
2_099.bmp 574B
7_004.bmp 574B
1_044.bmp 574B
2_091.bmp 574B
3_016.bmp 574B
2_004.bmp 574B
4_100.bmp 574B
1_039.bmp 574B
4_091.bmp 574B
共 1004 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
- yyqxdxxf2022-06-13用户下载后在一定时间内未进行评价,系统默认好评。
阿里matlab建模师
- 粉丝: 3642
- 资源: 2807
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Chrome代理 switchyOmega
- GVC-全球价值链参与地位指数,基于ICIO表,(Wang等 2017a)计算方法
- 易语言ADS指纹浏览器管理工具
- 易语言奇易模块5.3.6
- cad定制家具平面图工具-(FG)门板覆盖柜体
- asp.net 原生js代码及HTML实现多文件分片上传功能(自定义上传文件大小、文件上传类型)
- whl@pip install pyaudio ERROR: Failed building wheel for pyaudio
- Constantsfd密钥和权限集合.kt
- 基于Java的财务报销管理系统后端开发源码
- 基于Python核心技术的cola项目设计源码介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功