0
Stitcher stitcher = Stitcher.createDefault(false);
MatVector images = new MatVector(4);
images.put(0,cvLoadImage("1.jpg"));
images.put(1,cvLoadImage("2.jpg"));
images.put(2,cvLoadImage("3.jpg"));
images.put(3,cvLoadImage("4.jpg"));

这将正确拼接图像。你能给我一些想法来一次将文件夹中的所有图像加载到matvector吗?

我试过这个:

File actual = new File("image path");
File list[] = actual.listFiles();
MatVector images = null; 
    for(int i=0; i<list.length; i++){


        new MatVector(list.length);

        images.put(i,cvLoadImage(""));


    }  

但它返回空值。谢谢你。

4

2 回答 2

0

我正在使用以下代码进行操作:

for (int i=0; i<numOfPics; i++){
  images.put(i,cvLoadImage(imageNames[i]));
}

其中 numOfPics 是我拥有的计数器,每次拍照时都会增加。imageNames 是一个字符串数组,我在其中保存图片的完整名称(带文件夹),例如:

"/storage/sdcard0/Download/testpicture.JPG"
于 2013-11-21T13:44:25.330 回答
0

当您一张一张加载图像时,您写道images.put(0,cvLoadImage("1.jpg"));

但是当你把它放在“For”循环中时,你写了

images.put(i,cvLoadImage(""));

错误可能发生在循环中,因为您没有指定图像的扩展名。我的意思是你没有在循环中添加 .jpg 。

尝试做类似的事情

images.put(i,cvLoadImage(i+".jpg"));

看看会发生什么。

于 2015-06-14T07:51:44.763 回答