Я пытаюсь создать приложение для iOS, которое может обнаруживать маркеры Aruco. Итак, я скачал opencv2.framework для iOS, но понял, что Aruco к этому не относится. Следуя этому страница, Я скомпилировал вручную добавив opencv_contrib (https://github.com/opencv/opencv_contrib.git
) папку модуля в папку модуля opencv. Этот процесс работал нормально, и в Xcode я могу получить доступ к функциям Aruco. Но я также получаю эту странную ошибку:
ошибка приведения Xcode в функциональном стиле
Я пробовал отладку, и время выполнения 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] );
Других решений пока нет …