利用海思ann.bin分类模型,对下图进行分类识别
(一)步骤
1、使用opencv训练出字符分类模型ann.xml
2、使用海思提供的ive_too_xml2bin_ui工具,将上诉ann.xml模型转换成ann.bin模型
3、新建工程,导入ann.bin,进行分类
(二)注意点:
1、已经归一化的像素值,在转换特征时不需要重新归一化(/255),如下代码。
2、使用ann.bin特征提取的流程 必须和 opencv训练时一致。
void ANN_MLP_BinaryFeature2(Mat lowData, HI_U8 *imggray, HI_U16 width, HI_U16 height, HI_S16Q16 *binaryfeature)
{
HI_U16 featurenum = 0;
HI_U16 i, j;
//增加直方图
const int VERTICAL = 0;
const int HORIZONTAL = 1;
Mat vhist = ProjectedHistogram(lowData, VERTICAL,0);
Mat hhist = ProjectedHistogram(lowData, HORIZONTAL,0);
for (int i = 0; i < vhist.cols; i++) {
binaryfeature[featurenum] = vhist.data[i];
featurenum++;
}
for (int i = 0; i < hhist.cols; i++) {
binaryfeature[featurenum] = hhist.data[i];
featurenum++;
}
for ( i = 0; i < height; i++)
{
for ( j = 0; j < width; j++)
{
binaryfeature[featurenum++] = imggray[i*width + j] * 65536;// / 255;导入的Mat图片已经归一化了,不需要重新除以255归一化,这点很重要!!!
}
}
}
3、使用直方图特征,有利于得分差异化增大
未使用直方图特征信息
F:\HiIVE_PC_V2.1.0.6\sample\Debug\ANN.exe show ANN sample
[0