首頁 >Java >java教程 >在Java中是否有OpenCV imshow()方法的替代方案?

在Java中是否有OpenCV imshow()方法的替代方案?

WBOY
WBOY轉載
2023-08-27 22:33:01785瀏覽

org.opencv.highgui 套件的 HighGui 類別可讓您建立和操作視窗並顯示它們。您可以使用此類別的 imshow() 方法在視窗中顯示影像。此方法接受兩個參數 -

  • 代表視窗名稱的字串變數。

  • Mat代表圖像內容的物件。

建議在imshow()之後呼叫waitKey()方法.

範例

以下範例讀取影像,將其轉換為灰階影像,偵測其中的邊緣並顯示所有三個影像(原始影像、灰階影像和邊緣)使用HighGui 在視窗中。

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ImshowExample {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      //Reading the Image from the file
      Mat src = Imgcodecs.imread("D://images//window.jpg");
      HighGui.imshow("Original Image", src);
      //Converting color to gray scale
      Mat gray = new Mat(src.rows(), src.cols(), src.type());
      Imgproc.cvtColor(src, gray, Imgproc.COLOR_RGB2GRAY);
      HighGui.imshow("Gray Scale Image", gray);
      //Applying canny
      Mat dst = new Mat(src.rows(), src.cols(), src.type());
      Imgproc.Canny(gray, dst, 100, 100*3);
      HighGui.imshow("Edges", dst);
      HighGui.waitKey();
   }
}

輸出

執行時,上述程式產生三個窗口,如下所示-

原始影像-

在Java中是否有OpenCV imshow()方法的替代方案?

#灰階影像-

在Java中是否有OpenCV imshow()方法的替代方案?

邊緣突出顯示的圖像-

在Java中是否有OpenCV imshow()方法的替代方案?

以上是在Java中是否有OpenCV imshow()方法的替代方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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