使用JavaFX显示OpenCV Mat

Tom*_*Tom 6 java opencv javafx image mat

我想Mat直接用JavaFX 显示OpenCV中的对象.我已经看到有可能将Mat对象转换为BufferedImage.但据我所知,你不能BufferedImage用JavaFX 显示,所以必须进行另一次转换.

有没有办法直接将其转换为可由JavaFX显示的数据结构?

Tom*_*Tom 6

我找到了一种将Mat对象转换为JavaFX Image对象的直接方法.

MatOfByte byteMat = new MatOfByte();
Highgui.imencode(".bmp", mat, byteMat);
return new Image(new ByteArrayInputStream(byteMat.toArray()));
Run Code Online (Sandbox Code Playgroud)

您也可以将其编码为.jpg,但.bmp更快.