使用 javacv 1.4.2 在框架中打开图像
Open Image in a frame using 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);
}
我只想在将图像保存到磁盘之前显示框架中的图像。
在框架中显示 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();
}
}
我是 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);
}
我只想在将图像保存到磁盘之前显示框架中的图像。
在框架中显示 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();
}
}