首頁  >  文章  >  Java  >  使用Java OpenCV庫將彩色影像讀取為灰階影像

使用Java OpenCV庫將彩色影像讀取為灰階影像

PHPz
PHPz轉載
2023-09-06 16:09:03902瀏覽

Imgcodecs 類別的 #imread() 方法接受字串表示檔案名稱作為參數的值。此方法將指定檔案的內容讀取到矩陣物件中並傳回它。使用此方法,您可以讀取圖像的內容。

除此之外,Imgcodecs 類別還提供此方法的另一種變體,它接受表示指定所需讀取模式的標誌的整數值。

p>

以下是可用作標誌值的 Imgcodecs 類別的各個欄位。

  • IMREAD_COLOR - 如果標誌設定為此值,載入的映像將轉換為 3 通道 BGR(藍綠紅)彩色影像。

  • IMREAD_GRAYSCALE - 如果標誌設定為此值,則載入的影像將轉換為單通道灰階影像。

  • IMREAD_LOAD_GDAL# - 如果標誌設定為此值,則可以使用 GDAL 驅動程式載入映像。

  • IMREAD_ANYCOLOR - 如果標誌設定為此值,則將以任何可能的顏色格式讀取影像。

    li>
  • IMREAD_REDUCED_COLOR_2 或,

     IMREAD_REDUCED_COLOR_4 或,

    IMREAD_REDUCED_COLOR_8## - 如果

    IMREAD_REDUCED_COLOR_8
  • ## - 如果標誌設定為該標誌時,影像被讀取為三通道BGR,相對於所使用的場,影像的尺寸縮小到影像原始尺寸的1/2、1/4 或1/8。

    IMREAD_REDUCED_GRAYSCALE_2 或,

     IMREAD_REDUCED_GRAYSCALE_4 或, IMREAD_REDUCED_GRAYSCALE_8

    #為此值,影像被讀取為單通道灰階影像,且影像尺寸相對於所使用的場縮小至影像原始尺寸的1/2、1/4或1/8。
  • IMREAD_UNCHANGED

  • - 如果標誌設定為此值,則按原樣傳回載入的圖片。

因此,如果您需要將彩色影像讀取為灰階影像,您應該傳遞 IMREAD_GRAYSCALE 或 IMREAD_REDUCED_GRAYSCALE_X 作為參數。

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ReadAsGreyScale {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      //Reading the Image from the file
      Mat matrix = Imgcodecs.imread("D://images//sunset.jpg", Imgcodecs.IMREAD_GRAYSCALE);
      //Writing the image
      Imgcodecs.imwrite("D://images//sunset_greyscale.jpg", matrix);
      System.out.println("Image re-Saved");
   }
}

輸入使用Java OpenCV库将彩色图像读取为灰度图像

輸出使用Java OpenCV库将彩色图像读取为灰度图像

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ReadingAsGrey2 {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      String input = "D://images//sunset.jpg";
      //Reading the Image from the file
      Mat matrix = Imgcodecs.imread(input, Imgcodecs.IMREAD_REDUCED_GRAYSCALE_4 );
      //Writing the image
      Imgcodecs.imwrite("D://images//sunset_grey_8.jpg", matrix);
      System.out.println("Image re-Saved");
   }
}

輸出使用Java OpenCV库将彩色图像读取为灰度图像

######

以上是使用Java OpenCV庫將彩色影像讀取為灰階影像的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除