设置首页收藏本站
开启左侧

采用不同字符库文件会闪退

[复制链接]
scarsss 发表于 2024-5-6 14:56:21 | 显示全部楼层 |阅读模式
本帖最后由 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);都不会闪退
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-5-6 15:17:41 | 显示全部楼层
可能是路径不对,用绝对路径试试
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Ggg3434 发表于 2024-5-6 15:27:28 | 显示全部楼层
有可能是客户电脑里面没有Universal_0-9A-Z_NoRej.occ这个训练集?
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| scarsss 发表于 2024-5-6 16:15:19 | 显示全部楼层
Ggg3434 发表于 2024-5-6 15:27
有可能是客户电脑里面没有Universal_0-9A-Z_NoRej.occ这个训练集?

放在打包的目录下了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-5-6 16:35:44 | 显示全部楼层
ReadOcrClassCnn("Universal_0-9A-Z_NoRej.occ", &hv_OCRHandle);  你直接这样输入文件名,你确定程序会直接去你打包的目录下找这个文件??你这个接口是halcon的,默认只输文件名是去halcon安装目录下找对应文件
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-5-6 16:36:55 | 显示全部楼层
之所以在你自己的电脑没问题,估计是你的电脑装了halcon
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| scarsss 发表于 2024-5-6 19:37:04 | 显示全部楼层
halcon2016 发表于 2024-5-6 16:35
ReadOcrClassCnn("Universal_0-9A-Z_NoRej.occ", &hv_OCRHandle);  你直接这样输入文件名,你确定程序会直 ...

可以的 我直接用文件名 在Industrial_0-9A-Z_NoRej.omc的时候在好几台没装halcon的电脑上试过都可以正常运行   但是换成Universal_0-9A-Z_NoRej.occ就不行
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| scarsss 发表于 2024-5-6 19:38:58 | 显示全部楼层
halcon2016 发表于 2024-5-6 16:36
之所以在你自己的电脑没问题,估计是你的电脑装了halcon

但是在几台其他没装halcon的电脑上 用Industrial字体的就可以正常运行  用Universal的就不行
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Yanlf 发表于 2024-5-7 08:04:22 | 显示全部楼层
一个是.occ文件,一个是.omc文件,有差异的
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-5-7 08:34:55 | 显示全部楼层
Yanlf 发表于 2024-5-7 08:04
一个是.occ文件,一个是.omc文件,有差异的

建议进一步缩小问题范围,到底是读字符库报错还是识别报错,捕获halcon异常查看更具体的原因
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表