【发布时间】:2013-12-26 13:43:17
【问题描述】:
我是 OpenCV 新手,正在尝试读取文件夹中的图像序列。我的代码如下:
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace cv;
using namespace std;
void loadImage(Mat image,int number)
{
char filename[100];
strcpy(filename, "/home/folder1/imagefolder/");
char frameNo[10];
sprintf(frameNo, "%08i", number);
strcat(filename, frameNo);
strcat(filename, ".png");
cout<< filename;
image = imread(filename);
if (image.empty()) //check whether the image is loaded or not
{
cout << "Error : Image not loaded." << endl;
}
}
int main()
{
Mat image;
int nImages=8;
for (int i = 1; i < nImages; i++)
{
loadImage(image,i);
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(100000);
return 0;
}
}
它被编译了,但是在运行可执行文件时,它给出了以下错误:
OpenCV 错误:cvGetMat,文件 /home/vuadmin/OpenCV-2.3.1/modules/core/src/array.cpp,第 2482 行中的错误标志(参数或结构字段)(无法识别或不支持的数组类型) 在抛出 'cv::Exception' 的实例后调用终止 what():/home/vuadmin/OpenCV-2.3.1/modules/core/src/array.cpp:2482:错误:(-206)函数cvGetMat中无法识别或不支持的数组类型 中止(核心转储)
请帮我找出错误。
我还尝试了其他方法 OpenCV: Reading image series from a folder
但在我的情况下,它只显示第一张图片。
【问题讨论】:
标签: c++ opencv image-processing