如何使用OpenCV的“Mat”缓冲区或图像数组?
我的意思是:拥有一组图片,想要拿起并放入像
这样的数组我该怎么做?它就像C ++普通数组样式一样?
Mat images[2];
images[0] = imread(...);
images[1] = imread(..);
提前致谢。
答案 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);
}
这将显示数组中的第一张图像,您将必须按任意键转到下一个图像。希望这会有所帮助