2016-11-04 2 views
-1

Anscheinend war es möglich, in OpenCV 2.4 mit Java-Bindungen ein Mat in ein BufferedImage zu konvertieren:Mat <> BufferedImage Umwandlung in OpenCV 3

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

ich ein Projekt versucht, die Aktualisierung, die diesen Code verwendet wird (und es funktionierte, Ich habe überprüft, OpenCV 3.1 zu verwenden, und es scheint, dass diese Methode weg ist.

Warum wird diese Methode getBufferedImage aus der API entfernt, und wie komme ich darauf zurück?

Antwort

0

Es scheint, gibt es eine separate Konverter Klasse jetzt: 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"))