OpenCV - 读取图像


org.opencv.imgcodecs包的 Imgcodecs 类提供读取和写入图像的方法。使用 OpenCV,您可以读取图像并将其存储在矩阵中(如果需要,可以对矩阵执行转换)。稍后,您可以将处理后的矩阵写入文件。

Imgcodecs类的 read() 方法用于使用OpenCV 读取图像。以下是该方法的语法。

imread(filename)

它接受一个参数(filename),一个 String 类型的变量,表示要读取的文件的路径。

下面给出了使用 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();

第三步:读取图像

使用方法imread()读取图像。此方法接受表示图像路径的字符串参数,并返回读取为Mat对象的图像。

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

例子

以下程序代码显示了如何使用 OpenCV 库读取图像

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 ="C:/EXAMPLES/OpenCV/sample.jpg"; 
      Mat matrix = imageCodecs.imread(file); 
     
      System.out.println("Image Loaded");     
   } 
}

执行上述程序时,OpenCV 加载指定的图像并显示以下输出 -

Image Loaded