Библиотека Visp - как изменить размер изображения
Я использую библиотеку компьютерного зрения Visp, и теперь у меня проблема. Я хочу изменить размер моего изображения и затем отобразить его в окне. Я использую функцию изменения размера, но я получаю немного сломанного изображения. Вот мой код:
vpImageIo::read(I,"test.jpg");
vpDisplayGDI d(I);
vpDisplay::setTitle(I, "My image");
I.resize(10,10);
vpDisplay::display(I);
vpDisplay::flush(I);
Может быть, кто-то имел такую же проблему в прошлом и решил ее.
1 ответ
Решение
Код:
I.resize(10,10);
только изменит размер изображения.
Чтобы изменить размер изображения, вы должны использовать vpImageTools::resize()
, Будьте осторожны, функция не может работать на месте (исходное и конечное изображения должны быть разными).
То, что вы хотите, должно быть примерно так:
vpImage<vpRGBa> I_src, I;
vpImageIo::read(I_src, "test.jpg");
vpImageTools::resize(I_src, I, I_src.getWidth()/2, I_src.getHeight()/2);
vpDisplayGDI d(I);
vpDisplay::setTitle(I, "My image");
vpDisplay::display(I);
vpDisplay::flush(I);
vpDisplay::getClick(I);