Heim > Java > javaLernprogramm > Hauptteil

Lesen Sie mithilfe der Java OpenCV-Bibliothek ein Farbbild in ein Graustufenbild ein

PHPz
Freigeben: 2023-09-06 16:09:03
nach vorne
902 Leute haben es durchsucht

Die Methode

imread() der Klasse Imgcodecs akzeptiert eine Zeichenfolge, die den Dateinamen darstellt, als Wert des Parameters. Diese Methode liest den Inhalt der angegebenen Datei in ein Matrixobjekt und gibt ihn zurück. Mit dieser Methode können Sie den Inhalt des Bildes lesen.

Darüber hinaus stellt die Imgcodecs-Klasse auch eine weitere Variante dieser Methode bereit, die einen ganzzahligen Wert akzeptiert, der ein Flag darstellt, das den gewünschten Lesemodus angibt.

p>

Im Folgenden sind die verschiedenen Felder der Imgcodecs-Klasse aufgeführt, die als Flag-Werte verwendet werden können.

  • IMREAD_COLOR – Wenn das Flag auf diesen Wert gesetzt ist, wird das geladene Bild in ein 3-Kanal-BGR-Farbbild (Blau Grün Rot) konvertiert.

  • IMREAD_GRAYSCALE – Wenn das Flag auf diesen Wert gesetzt ist, wird das geladene Bild in ein Einkanal-Graustufenbild konvertiert.

  • IMREAD_LOAD_GDAL - Wenn das Flag auf diesen Wert gesetzt ist, können Bilder mit dem GDAL-Treiber geladen werden.

  • IMREAD_ANYCOLOR – Wenn das Flag auf diesen Wert gesetzt ist, wird das Bild in jedem möglichen Farbformat gelesen.

    li>
  • ... Feld Zoomen Sie auf 1/2, 1/4 oder 1/8 der Originalgröße des Bildes heraus.

    ... ist relativ zum verkleinern Bild unter Verwendung des Feldes 1/2, 1/4 oder 1/8 der Originalgröße.

    IMREAD_UNCHANGED
  • – Wenn das Flag auf diesen Wert gesetzt ist, wird das geladene Bild unverändert zurückgegeben.

    Wenn Sie also ein Farbbild in ein Graustufenbild einlesen müssen, sollten Sie IMREAD_GRAYSCALE oder IMREAD_REDUCED_GRAYSCALE_X als Parameter übergeben.

    Beispiel 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");
       }
    }
    Nach dem Login kopieren
  • Eingabe

    Ausgabe

Beispiel 2