OpenCV - 图像数组或Mat缓冲区

时间:2013-05-05 10:42:15

标签: arrays image opencv buffer

如何使用OpenCV的“Mat”缓冲区或图像数组?

我的意思是:拥有一组图片,想要拿起并放入像

这样的数组

我该怎么做?它就像C ++普通数组样式一样?

 Mat images[2];

    images[0] = imread(...);
    images[1] = imread(..);

提前致谢。

2 个答案:

答案 0 :(得分:6)

只需将cvMat对象数组声明为 -

Mat image_array[10];      // array of 10 images

现在根据数组索引

将图像读入其中
image_array[0]=imread("/home/me/Pictures/img1.png",1);
image_array[1]=imread("/home/me/Pictures/img2.png",1);
......
......
image_array[9]=imread("/home/me/Pictures/img9.png",1);

答案 1 :(得分:1)

我必须实现类似的功能,而我不需要查看所有我想要的图像就是从其中提取一些数据,但是无论如何我都会添加未读内容。这是代码:

Mat mat[10];enter code here
char c[n]; //n is the size of chars in the directory of images

for(int i=1;i<=10;i++)
{
 sprintf(c,"/directory to images/%d.jpg",i);
 mat[i] = imread(c);
 imshow("mat",mat[i]);
 waitKey(0);
}

这将显示数组中的第一张图像,您将必须按任意键转到下一个图像。希望这会有所帮助