我有一个经过校准的多摄像头系统。内部(焦距、畸变等)和外部(姿势)相机参数均已使用基于 HALCON 的程序进行了估计。现在,目标是编写一个 C++ 程序,读取相机参数,特别是 HALCON 估计的畸变系数(k1、k2、k3、p1、p2),并使用它们通过 OpenCV 来消除图像畸变。不幸的是,到目前为止,我无法成功:HALCON 和 OpenCV 中使用的相同失真系数生成非常不同的未失真图像!我想,问题在于 HALCON 和 OpenCV 解释失真系数的方式,甚至是它们执行不失真的方式。
这是我的 HALCON 代码,用于读取畸变系数并使用它们来消除测试图像的畸变:
* Read the internal camera calibratino parameters ('area_scan_polynomial' model)
read_cam_par('Calibration.dat', CamParam)
* Estimate camera parameters without distortion: set all distortion coefficients to [k1, k2, k3, p1, p2] = [0, 0, 0, 0, 0]
change_radial_distortion_cam_par ('fixed', CamParam, [0, 0, 0, 0, 0], CamParamOut)
* Estimate camera matrix of distortion-free parameters (used for OpenCV)
cam_par_to_cam_mat(CamParamOut, CamMatrix, ImageWidth, ImageHeight)
* Generate map to use …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 C++ 在 QT GraphicsView 对象中显示 HImage。谁能指出我正确的方向吗?到目前为止我还没能在网上找到任何线索。
我正在使用名为 Halcon 的商业计算机视觉软件开发一个解决方案。我正在考虑将我的解决方案迁移或转换为 Python 中的 OpenCV。我想开始在 Halcon 中开发我的其他计算机视觉解决方案,因为 IDE 非常棒,并且它们生成一个脚本以将它们迁移到 OpenCV。
有谁知道有什么图书馆可以完成这项任务吗?
我想开始开发一个开源 SDK 将 Halcon 转换为 OpenCV。我正在考虑开始开发从 Halcon 到 Python 的所有内部函数。有什么建议吗?