OpenCV讀取影象


org.opencv.imgcodecs包的Imgcodecs類提供讀取和寫入影象的方法。使用OpenCV,可以讀取影象並將其儲存在矩陣中(如果需要,可在矩陣上執行轉換)。之後可以將處理後的矩陣寫入檔案。

Imgcodecs類的read()方法用於使用OpenCV讀取影象。 以下是此方法的語法。

imread(filename)

它接受一個引數(檔案名),一個字串型別的變數,表示要讀取的檔案的路徑。

下面給出了使用OpenCV庫讀取Java影象的步驟。

第1步:載入OpenCV本機庫
使用load()方法載入OpenCV本機庫,如下所示。

//Loading the core library 
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

第2步:範例化Imgcodecs類
範例化Imgcodecs類。

//Instantiating the Imgcodecs class 
Imgcodecs imageCodecs = new Imgcodecs();

第3步:讀取影象
使用imread()方法讀取影象。 此方法接受表示影象路徑的字串引數,並返回為Mat物件讀取的影象。

//Reading the Image from the file  
Mat matrix = imageCodecs.imread(Path of the image);

範例

以下程式程式碼顯示了如何使用OpenCV庫讀取影象。

package tw511.com;

import org.opencv.core.Core; 
import org.opencv.core.Mat;  
import org.opencv.imgcodecs.Imgcodecs;

public class ReadingImages {
   public static void main(String args[]) { 
      //Loading the OpenCV core library  
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); 

      //Instantiating the Imagecodecs class 
      Imgcodecs imageCodecs = new Imgcodecs(); 

      //Reading the Image from the file  
      String file ="F:/worksp/opencv/images/sample.jpg"; 
      Mat matrix = imageCodecs.imread(file); 

      System.out.println("Image Loaded");     
   } 
}

在執行上述程式時,OpenCV載入指定的影象並顯示以下輸出 -

Image Loaded