我想直接用
JavaFX显示OpenCV中的Mat对象.我已经看到可以将Mat对象转换为BufferedImage.但据我所知,你无法使用JavaFX显示BufferedImage,因此必须进行另一次转换.
有没有办法直接将其转换为可由JavaFX显示的数据结构?
解决方法
我找到了一种将Mat对象转换为JavaFX Image对象的直接方法.
MatOfByte byteMat = new MatOfByte(); Highgui.imencode(".bmp",mat,byteMat); return new Image(new ByteArrayInputStream(byteMat.toArray()));
您也可以将其编码为.jpg,但.bmp更快.