cv::_InputArray
- это прокси-тип, используемый OpenCV для приема нескольких типов данных (например, cv::Mat
или std::vector
). Вам не нужно создавать его напрямую.
Часть вашей проблемы заключается в том, что вы пытаетесь смешивать C и C++ API. Это не рекомендуется. Другим фактором является то, что cv::Mat*
не могут быть преобразованы в InputArray
. Вы можете использовать cv::FileStorage
для чтения файлов в cv::Mat
объектов:
cv::Mat lg, lr;
cv::FileStorage fs1("mx1.xml", cv::FileStorage::READ);
cv::FileStorage fs2("mx2.xml", cv::FileStorage::READ);
cv::Mat mxl;
cv::FileNode fn = fs1.getFirstTopLevelNode();
fn >> mxl;
cv::Mat myl;
fn = fs2.getTopLevelNode();
fn >> myl;
cv::remap(lg, lr, mxl, myl, CV_INTER_LINEAR);
Использование OpenCV 2.4.8 - getTopLevelNode, кажется, был переименован в getFirstTopLevelNode. – Kozuch