ホームページ  >  記事  >  Java  >  Java OpenCVライブラリを使用してカラー画像をグレースケール画像に読み込みます

Java OpenCVライブラリを使用してカラー画像をグレースケール画像に読み込みます

PHPz
PHPz転載
2023-09-06 16:09:03951ブラウズ

Imgcodecs クラス imread() メソッドは、ファイル名を表す文字列を値として受け入れます。パラメータ 。このメソッドは、指定されたファイルの内容を行列オブジェクトに読み取り、それを返します。このメソッドを使用すると、イメージの内容を読み取ることができます。

これに加えて、Imgcodecs クラスは、目的の読み取りモードを指定するフラグを表す整数値を受け入れる、このメソッドの別のバリアントも提供します。

p>

以下は、フラグ値として使用できる Imgcodecs クラスのさまざまなフィールドです。

  • IMREAD_COLOR - フラグがこの値に設定されている場合、ロードされた画像は 3 チャンネル BGR (青、緑) に変換されます。赤)カラー画像。

  • IMREAD_GRAYSCALLE - フラグがこの値に設定されている場合、ロードされた画像は単一チャネルのグレースケール画像に変換されます。

  • IMREAD_LOAD_GDAL - フラグがこの値に設定されている場合、GDAL ドライバーを使用してイメージをロードできます。

  • IMREAD_ANYCOLOR - フラグがこの値に設定されている場合、画像は可能な任意のカラー形式で読み取られます。

    li>
  • IMREAD_REDUCED_COLOR_2 または

    IMREAD_REDUCED_COLOR_4 または

    IMREAD_REDUCED_COLOR_8

    - フラグがこれに設定されている場合value の場合、イメージは 3 チャネル BGR として読み取られ、イメージのサイズは、使用されるフィールドに対してイメージの元のサイズの 1/2、1/4、または 1/8 に縮小されます。

  • ##IMREAD_REDUCED_GRAYSCALE_2 または、 IMREAD_REDUCED_GRAYSCALE_4 または、

    IMREAD_REDUCED_GRAYSCALE_8

    - フラグがこれに設定されている場合value を指定すると、イメージはシングル チャネル グレースケール イメージとして読み取られ、イメージ サイズは、使用されるフィールドに対してイメージの元のサイズの 1/2、1/4、または 1/8 に縮小されます。

  • IMREAD_UNCHANGED - フラグがこの値に設定されている場合、ロードされたイメージがそのまま返されます。

  • したがって、カラー イメージをグレースケールに読み取る必要がある場合は、パラメータとして IMREAD_GRAYSCALE または IMREAD_REDUCED_GRAYSCALE_X を渡す必要があります。

例 1

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");
   }
}
Enter

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

##例 2使用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ライブラリを使用してカラー画像をグレースケール画像に読み込みますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。