2013-06-21 32 views
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?如何將一個文件夾中的所有圖像加載到圖像縫合javacv

我已經試過這樣:

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

它給出了在螺紋錯誤異常 「主」 顯示java.lang.NullPointerException \t在UWU_CST_09_0039.UniversityProject.ImageStitching.main(ImageStitching.java:42)的java 42是:images.put(I,cvLoadImage( 「」) ); – user2294002

+0

這真的是一件很危險的事情。你可以對此有任何想法。謝謝 – user2294002

回答

0

我這個代碼做:

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

其中numOfPics是每個我拍照時間的計數器,我有和增加。 imageNames是一個字符串數組,我將圖片保存的全名(與文件夾),例如:

"/storage/sdcard0/Download/testpicture.JPG" 
0

當你被一個加載圖像一個你寫images.put(0,cvLoadImage("1.jpg"));

,但是當你把它在「For」循環中,你寫了

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

該錯誤可能發生在循環中,因爲您沒有指定圖像的擴展名。我的意思是你沒有在循環中添加.jpg。

嘗試做一些像

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

,看看會發生什麼。

相關問題