OpenCV - 图像数组或Mat缓冲区

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (154)

怎样,我可以在OpenCV上使用“Mat”缓冲区或图像阵列吗?

我的意思是:有一组图像,想要拿起并放入一个像这样的数组

我怎样才能做到这一点?它就像C ++普通的数组风格?

 Mat images[2];

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

提前致谢。

提问于
用户回答回答于

只需声明一个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);
用户回答回答于

我必须实现类似的东西,我不需要查看所有我想要的图像是从它们中提取一些数据,但我还是要添加imread。这是代码:

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

这将显示数组中的第一个图像,您必须按任意键才能转到下一个图像。希望这可以帮助

扫码关注云+社区

领取腾讯云代金券