C++ 调用 Halcon 时大尺寸操作无效问题的解决方案
2023-02-18 16:32:33 时间
C++ 调用 Halcon 时偶现大尺寸的算子操作无效问题,本文记录解决方案。
问题复现
- 在 C++ 调用 Halcon 程序中,创建如下尺寸矩形
HObject Rectangle;
GenRectangle1(&Rectangle, 234, 31, 1534, 424)
HTuple test;
RegionFeatures(ho_roi, "width", &test);
cout << test[0].D() <<endl;
RegionFeatures(ho_roi, "area", &test);
cout << test[0].D() << endl;
RegionFeatures(ho_roi, "row1", &test);
cout << test[0].D() << endl;
RegionFeatures(ho_roi, "height", &test);
cout << test[0].D() << endl;
- 正常运行时输出的都是正常的数据,出现问题时输出全为 0
问题原因
- 原因不明 ……
- 感觉的原因是由于某些操作尺寸较大,Halcon 默认画布装不下导致的 bug
解决方案
- 在代码中显示定义较大的画布大小,例如加入如下代码:
HalconCpp::SetSystem("width", 8000);
HalconCpp::SetSystem("height", 8000);
- 问题解决。
相关文章
- GitlabRunner+K8S 实现自动化发布
- C/C++ Qt StandardItemModel 数据模型应用
- GIT分布式版本控制系统 | 命令讲解入门
- Linux自动挂载 (autofs)
- Linux 计划任务
- NFS (网络文件系统) | CentOS7 升级系统和内核 | Linux man 命令汉化
- Linux快捷键 | 破解密码 | 正则 | 永久行号显示
- Linux权限管理
- Linux用户账号管理
- Linux逻辑分区| 扩容 | 挂载
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- Linux基础命令
- Linux 基础篇 vim | 网卡
- Linux网络管理 | 三种模式
- Linux打包 | 压缩
- Linux进程管理
- Linux防火墙 | 服务管理
- Linux基础篇
- Linux vim | vi 的使用