首页 > 解决方案 > 使用 javacv 1.4.2 在框架中打开图像

问题描述

我是 javacv 新手,想知道如何使用 javacv 1.4.2 和 opencv 3.4.2 在框架中打开图像。

我已经下载了opencv和javacv,并将其解压缩到C盘。还将其加载到库中。

这是我试过的代码。

Mat image = imread(filename);
    if (image != null) {
        GaussianBlur(image, image, new Size(3, 3), 0);
        imwrite(filename, image);
    }

我只想在将图像保存到磁盘之前在框架中显示图像。

标签: javaswingopencvframejavacv

解决方案


在帧中显示 Mat 的代码块。

public static void showResult(Mat img)
{   
    MatOfByte matOfByte = new MatOfByte();
    Imgcodecs.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.getContentPane().add(new JLabel(new ImageIcon(bufImage)));
        frame.pack();
        frame.setVisible(true);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

推荐阅读