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(""));
}
但它返回空值。谢谢。
答案 0 :(得分:0)
我正在使用此代码:
for (int i=0; i<numOfPics; i++){
images.put(i,cvLoadImage(imageNames[i]));
}
其中numOfPics是我拥有的计数器,每次拍照都会增加。 imageNames是一个String数组,我保存图片的完整名称(带文件夹),例如:
"/storage/sdcard0/Download/testpicture.JPG"
答案 1 :(得分:0)
当您逐个加载图片时,您编写了images.put(0,cvLoadImage("1.jpg"));
但是当你把它放在&#34; For&#34;循环,你写了
images.put(i,cvLoadImage(""));
错误可能发生在循环中,因为您没有指定图像的扩展名。我的意思是你没有在循环中添加.jpg。
尝试做类似
的事情images.put(i,cvLoadImage(i+".jpg"));
看看会发生什么。