OpenCV 3 中的 Mat <> BufferedImage 转换

Mat <> BufferedImage conversion in OpenCV 3

显然,在 OpenCV 2.4 中使用 Java 绑定可以将 Mat 转换为 BufferedImage:

val greyMat = new Mat()
opencv_imgproc.cvtColor(mat, greyMat, opencv_imgproc.CV_BGR2GRAY, 1)
ImageIO.write(greyMat.getBufferedImage, "jpg", new File("output_grey.jpg"))

我尝试更新一个使用此代码的项目(我检查过它有效)以使用 OpenCV 3.1,但似乎此方法已失效。

为什么此方法 getBufferedImage 从 API 中删除,我该如何恢复它?

现在似乎有一个单独的转换器class:Java2DFrameConverter:

import org.bytedeco.javacv.Java2DFrameConverter

val greyMat = new Mat()
val conv = new Java2DFrameConverter
opencv_imgproc.cvtColor(mat, greyMat, opencv_imgproc.CV_BGR2GRAY, 1)
ImageIO.write(conv.getBufferedImage(greyMat), "jpg", new File("output_grey.jpg"))