& quot; Преобразование функционального стиля из идентификатора в double не допускается & quot; при сборке opencv с aruco на iOS

Я пытаюсь создать приложение для iOS, которое может обнаруживать маркеры Aruco. Итак, я скачал opencv2.framework для iOS, но понял, что Aruco к этому не относится. Следуя этому страница, Я скомпилировал вручную добавив opencv_contrib (https://github.com/opencv/opencv_contrib.git) папку модуля в папку модуля opencv. Этот процесс работал нормально, и в Xcode я могу получить доступ к функциям Aruco. Но я также получаю эту странную ошибку:
ошибка приведения Xcode в функциональном стиле

Я пробовал отладку, и время выполнения v передается как двойная переменная. Явное приведение (double)v тоже недействительно Как я могу это исправить?

2

Решение

Я нашел проблему. Это был еще один фрагмент кода, который вызывал оператор без явного приведения параметров. Это было:

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] );
0

Другие решения

Других решений пока нет …