Я использую OpenCV для вычисления взаимной корреляции двух строк, взятых из некоторой матрицы X (размер 16x128). Это то, что я сделал:Используйте OpenCV для вычисления взаимной корреляции двух массивов
cv::Mat channel1(1,128,CV_32F, X.row(1).clone()); //take the first row of matrix X
cv::Mat channel2(1,128,CV_32F, X.row(10).clone()); //take the 10th row of matrix X
cv::Mat result;
cvMatchTemplate(channel1,channel2,result, CV_TM_CCORR);
Однако, я получаю следующее сообщение об ошибке: «Ошибка: не экземпляр конструктора„сорте :: Mat :: Мат“не совпадает со списком аргументов». Может ли кто-нибудь помочь мне решить эту проблему. Заранее спасибо.
X.row (j) * is * уже 1-й ряд Матем. вам не нужно создавать новые вокруг него. (и компилятор прав, нет конструктора с таким значением инициализации). также используйте cv :: matchTemplate, а не c-api cvMatchTemplate! – berak