Библиотека 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);
Другие вопросы по тегам