"Functional-style cast from id to double is not allowed" 在 iOS 上使用 aruco 构建 opencv 时
"Functional-style cast from id to double is not allowed" when building opencv with aruco on iOS
我正在尝试制作一个可以检测 Aruco 标记的 iOS 应用程序。因此,我为 iOS 下载了 opencv2.framework,但我意识到其中不包括 Aruco。按照这个page,我手动编译添加opencv_contrib(https://github.com/opencv/opencv_contrib.git
)模块文件夹到opencv模块文件夹中。此过程运行良好,在 Xcode 中我可以访问 Aruco 功能。但我也遇到了这个奇怪的错误:
functional-style cast xcode error
我试过调试,运行时 v 作为双精度变量传递。显式转换 (double)v
也无效。我该如何解决这个问题?
我发现了问题。这是另一段调用运算符的代码,没有显式转换参数。它是:
NSArray *camMatrix = ...
...
Mat cameraMatrix = (Mat_<double>(3,3) << camMatrix[0], camMatrix[1], camMatrix[2],
camMatrix[3], camMatrix[4], camMatrix[5],
camMatrix[6], camMatrix[7], camMatrix[8] );
像这样投射 [camMatrix[0] doubleValue]:
NSArray *camMatrix = ...
...
Mat cameraMatrix = (Mat_<double>(3,3) << [camMatrix[0] doubleValue], [camMatrix[1] doubleValue], [camMatrix[2] doubleValue],
[camMatrix[3] doubleValue], [camMatrix[4] doubleValue], [camMatrix[5] doubleValue],
[camMatrix[6] doubleValue], [camMatrix[7] doubleValue], [camMatrix[8] doubleValue] );
我正在尝试制作一个可以检测 Aruco 标记的 iOS 应用程序。因此,我为 iOS 下载了 opencv2.framework,但我意识到其中不包括 Aruco。按照这个page,我手动编译添加opencv_contrib(https://github.com/opencv/opencv_contrib.git
)模块文件夹到opencv模块文件夹中。此过程运行良好,在 Xcode 中我可以访问 Aruco 功能。但我也遇到了这个奇怪的错误:
functional-style cast xcode error
我试过调试,运行时 v 作为双精度变量传递。显式转换 (double)v
也无效。我该如何解决这个问题?
我发现了问题。这是另一段调用运算符的代码,没有显式转换参数。它是:
NSArray *camMatrix = ...
...
Mat cameraMatrix = (Mat_<double>(3,3) << camMatrix[0], camMatrix[1], camMatrix[2],
camMatrix[3], camMatrix[4], camMatrix[5],
camMatrix[6], camMatrix[7], camMatrix[8] );
像这样投射 [camMatrix[0] doubleValue]:
NSArray *camMatrix = ...
...
Mat cameraMatrix = (Mat_<double>(3,3) << [camMatrix[0] doubleValue], [camMatrix[1] doubleValue], [camMatrix[2] doubleValue],
[camMatrix[3] doubleValue], [camMatrix[4] doubleValue], [camMatrix[5] doubleValue],
[camMatrix[6] doubleValue], [camMatrix[7] doubleValue], [camMatrix[8] doubleValue] );