openCv 4 Java HighGui.imshow - PullRequest
       36

openCv 4 Java HighGui.imshow

0 голосов
/ 09 января 2019

В Python загрузка и отображение изображений довольно просты.

import cv2 




image = cv2.imread("path/to/image")
cv2.imshow("test window", image)
cv2.waitKey(0) # any key press will close the window and stop the program

В Java это выглядит так.

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgproc.Imgproc;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.highgui.HighGui;


public class HelloWorld {


  static {
        System.load("/Users/ongyichong/opencv/libopencv_java401.dylib");
    }


  public static void main(String[] args) {

    System.out.println("hello world");

    Mat testFile  = Imgcodecs.imread("/Users/ongyichong/SikuliX/Scripts/NUSivle/0.png");
    HighGui.imshow("test window", testFile);
    HighGui.waitKey(0);
  }

}

Я использую opencv 4, и мне не удалось реализовать ту же функциональность в java opencv.

HighGui.waitKey (0) не работает должным образом по сравнению с python (любое нажатие клавиши закрывает окно в python), и мне приходится вручную закрывать «тестовое окно», чтобы вызвать остановку программы.

Я где-то читал, что opencv в java не может отображать изображения. Однако не обеспечивает ли HighGui эту функциональность? Я прочитал все API из Java OpenCV API

Документы API не так детализированы, чтобы помочь мне понять, что именно делает функция, и я могу только догадываться, что она делает с Python.

1 Ответ

0 голосов
/ 20 марта 2019

Вы пытались явно позвонить:

   HighGui.destroyAllWindows();
...