2016-11-04 1 views
-1

Apparemment, il a été possible dans OpenCV 2.4 avec des liaisons Java pour convertir un Mat en BufferedImage:Mat <> conversion BufferedImage dans 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")) 

J'ai essayé de mettre à jour un projet qui a utilisé ce code (et cela a fonctionné, J'ai vérifié) pour utiliser OpenCV 3.1, et il semble que cette méthode a disparu.

Pourquoi cette méthode getBufferedImage est-elle supprimée de l'API et comment y revenir?

Répondre

0

Il semble qu'il y ait une classe de conversion séparé maintenant: 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"))