使用 OpenCV 调整图像大小

Posted

技术标签:

【中文标题】使用 OpenCV 调整图像大小【英文标题】:Resizing images using OpenCV 【发布时间】:2012-08-20 03:04:32 【问题描述】:

我正在尝试使用http://docs.opencv.org/trunk/modules/contrib/doc/facerec/facerec_tutorial.html 在 OPencv 中进行面部识别。但是我不断收到此错误:

    OpenCV Error: Unsupported format or combination of formats
    (In the Eigenfaces method all input samples (training images) must
    be of equal size! Expected 307200 pixels, but was 4915200 pixels.) 
    in train, file /home/itsy/Desktop/OpenCV-2.4.2/modules/contrib/src/facerec.cpp, line 326

所以我决定使用

调整矢量内所有图像的大小
for(int i=0; i < images().size; i++)
     resize(images[i],images[0],images[0].size(),0,0, INTER_NEAREST ); 

其中 images 是 Mat 类型的向量,包含所有加载的图像。但是当我尝试编译它时,它告诉我:

facerecognition.cpp:141:27: error: no match for call to ‘(std::vector<cv::Mat>) ()’

这是 for(..) 所在的行。有人可以帮帮我吗?

【问题讨论】:

【参考方案1】:

由于images 不是函数,images().size 没有任何意义。你想要images.size(),因为images.size 是一个函数。

【讨论】:

以上是关于使用 OpenCV 调整图像大小的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 OpenCv 中调整图像大小会降低相机校准的重投影误差?

当使用 OpenCV 完成图像加载和调整大小时,Resnet50 会产生不同的预测

OpenCV:自动将窗口大小调整为显示的图像

如何在 OpenCV 中将图像调整为特定大小?

调整大小的 opencv 图像在 QWidget C++ 上未正确显示

调整大小时Python OpenCV图像打乱[重复]