我正在使用Visp计算机视觉库,现在遇到了问题。我想调整图像大小,然后在窗口中显示它。我使用函数调整大小,但是图像出现问题。这是我的代码:

vpImageIo::read(I,"test.jpg");
vpDisplayGDI d(I);
vpDisplay::setTitle(I, "My image");

I.resize(10,10);
vpDisplay::display(I);
vpDisplay::flush(I);


也许有人过去有同样的问题并解决。

最佳答案

代码:

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);

09-05 23:56