OpenCV warpAffine непредвиденное поведение: повторный шаблон, когда не используется INTER_NEAREST - PullRequest
0 голосов
/ 31 января 2020

У меня есть матрица cv :: Mat CorrespondenceMap, где каждый элемент содержит свой собственный индекс. Затем я использую эти индексы для восстановления преобразованного изображения.

Когда я выполняю операцию непосредственно с данными изображения, я получаю правильное первое изображение. Если я делаю это через карту соответствия, она работает только тогда, когда я устанавливаю INTER_NEAREST, в противном случае я получаю показанное изображение

std::vector<int> cmap(width*height);
std::iota (std::begin(cmap), std::end(cmap), 0); // Fill with incrementing ints
cv::Mat cmapMat(height, width, CV_32SC1, cmap.data());
cmapMat.convertTo(cmapMat, CV_64F);
cv::warpAffine(source, transformedimage, lkParams.rowRange(0,2), source.size(), cv::INTER_LINEAR,cv::BORDER_CONSTANT, -1);
cmapMat.convertTo(cmapMat, CV_32S, 1, 0.5);

directly on image

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...