Я пытаюсь использовать функцию dlib pyramid_up на открытом cv Mat образе, обернутом оболочкой cv_image из библиотеки dlib, как показано ниже ..
cv::Mat & src
cv_image<rgb_pixel> cimg(src);
pyramid_up(cimg);
cv::Mat
а также dlib::cv_image
хорошо работать вместе, а dlib::array2d<rgb_pixel>
хорошо работает с dlib::pyramid_up
, Тем не менее, при использовании в комбинации я получаю список ошибок из dlibs interpolation.h, которые все говорят could not deduce template argument for..
есть идеи?
редактировать: этот вопрос был так давно, я не могу вспомнить предполагаемую цель, поэтому не могу сказать, работают ли решения. Тем не менее, совет Терезы кажется убедительным, попытайтесь сделать это, если найдете его в будущем.
Вам удалось это решить? Я успешно использую pyramid_up, как это:
cv::Mat & src
array2d<bgr_pixel> img;
assign_image(img, cv_image<bgr_pixel>(src));
Вы могли бы использовать pyrUp Функция OpenCV вместо. Это выглядит похоже .. Вот некоторые ссылки: OpenCv 3.0 руководства.
я использовал этот код, чтобы преодолеть эту проблему
cv::VideoCapture cap(0);
if (!cap.isOpened())
{
cerr << "Unable to connect to camera" << endl;
getchar();
}
cv::Mat temp;
cap.read(temp);
cv::imwrite("img/Latest.jpg", temp); // saving image to folder using openCV
matrix<rgb_pixel> test2;
load_image(test2, "img/Latest.jpg");
pyramid_up(test2);
это сработало для меня, идея сохранить изображение и загрузить его снова, как matrix<rgb_pixel>
Итак pyramid_up()
может справиться с этим.
Примечание: если вы запустите распознавание в видео в реальном времени, я не думаю, что это будет полезно.