opencv Java build 中 imshow 的等效方法

2022-09-01 11:47:27

对不起,如果我问一个愚蠢的问题,我试图使用Java构建来学习openCV。在opencv示例中,我发现在c ++中有方法imshow或在python中有showImage,但我在opencv Java API中搜索,我找不到imshow方法。

在 opencv 中,imshow() 和 waitKey() 的相等方法是什么?


答案 1
public static void showResult(Mat img) {
    Imgproc.resize(img, img, new Size(640, 480));
    MatOfByte matOfByte = new MatOfByte();
    Highgui.imencode(".jpg", img, matOfByte);
    byte[] byteArray = matOfByte.toArray();
    BufferedImage bufImage = null;
    try {
        InputStream in = new ByteArrayInputStream(byteArray);
        bufImage = ImageIO.read(in);
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        frame.getContentPane().add(new JLabel(new ImageIcon(bufImage)));
        frame.pack();
        frame.setVisible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

答案 2

目前还没有 Java highgui 包装器(链接)。您应该使用 swing 或 swt 来显示图像。请参见: Opencv java - 将图像加载到 GUI


推荐