本帖最后由 scarsss 于 2024-5-8 10:49 编辑
qt里采用halcon库做了个字符识别软件,本地运行都是正常的,发给客户后在别的电脑上点“识别”按键后闪退。排查发现当采用Industrial_0-9A-Z_NoRej.omc字符库文件时不会闪退(没有其他报错)
程序里代码:ReadOcrClassMlp("Industrial_0-9A-Z_NoRej.omc", &hv_OCRHandle);
DoOcrMultiClassMlp(ho_SortedRegions2, ho_serialimage, hv_OCRHandle, &hv_serial,&hv_Confidence);
但是换成 Universal_0-9A-Z_NoRej.occ这个字符库就闪退
程序里代码:ReadOcrClassCnn("Universal_0-9A-Z_NoRej.occ", &hv_OCRHandle);
DoOcrMultiClassCnn(ho_SortedRegions2, ho_serialimage, hv_OCRHandle, &hv_serial, &hv_Confidence);
qt文件里只有识别按键这个地方代码里用到字符库文件。字符库文件在windeployqt 命令打包程序后直接复制到同级目录下。不知道为什么一旦换成Universal_0-9A-Z_NoRej.occ这个字符库就在别的电脑闪退,而现在识别情况下又不得不用这个字符库。
排查后发现问题在ReadOcrClassCnn("Universal_0-9A-Z_NoRej.occ", &hv_OCRHandle);这段,而且读取其他occ格式的字符库都会闪退,而采用ReadOcrClassMlp("Industrial_0-9A-Z_NoRej.omc", &hv_OCRHandle);都不会闪退
|