-
Notifications
You must be signed in to change notification settings - Fork 0
/
recchar.m
26 lines (23 loc) · 957 Bytes
/
recchar.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function resultc=recchar(Ipchar, param_char)
% 此函数是对字符的二值图像进行识别
% --------------------------------------------------------
% 参数 [resultc, Ic]=recchar(Ichar);
% @输入 Ichar 二值化的数字或者字母图像
% @输出 resultc 识别结果
% Ic 识别的原图
% --------------------------------------------------------
%
% /////////////////////////////////////////////////////
image=Ipchar; % 识别图片
% 预处理
image=imresize(image,param_char.img_size);
image=double(reshape(image, param_char.img_size(1)*param_char.img_size(2), 1)'); % 行拉直,下一步PCA(主成分分析)
image=bsxfun(@times,image,1./sum(image,2));% 归一化,全部值映射到0-1
image = image*param_char.coef(:,1:param_char.dim);% 降维
image=bsxfun(@rdivide, image, sqrt(param_char.latent(1:param_char.dim)+1e-6));% 白化
imgage = image'; % 最终要使用列向量
% 仿真
val=sim(param_char.net, imgage);
[~,temp] = max(val);
resultc=param_char.cate(temp);
end