如何在Javacv中将Mat转换为IplImage?

时间:2016-12-29 18:26:13

标签: opencv image-processing javacv face-recognition

有人知道如何将Mat转换为IplImage吗? 实现这一点我已经将Mat转换为BufferedImage,但又无法在BufferedImage中找到IplImage的转换。

有什么方法可以将Mat转换为IplImage吗?

由于

1 个答案:

答案 0 :(得分:1)

我相信您可以将BufferedImage转换为IplImage,如下所示。

public static IplImage toIplImage(BufferedImage src) {
  Java2DFrameConverter bimConverter = new Java2DFrameConverter();
  OpenCVFrameConverter.ToIplImage iplConverter = new OpenCVFrameConverter.ToIplImage();
  Frame frame = bimConverter.convert(src);
  IplImage img = iplConverter.convert(frame);
  IplImage result = img.clone();
  img.release();
  return result;
}

我是从this问题得到的。现在试试这个。我会检查是否可以直接转换。

更新: 请看一下这个api docs。我还没有测试过以下内容。刚才写的。请尝试告诉我。

public static IplImage toIplImage(Mat src) {
 OpenCVFrameConverter.ToIplImage iplConverter = new OpenCVFrameConverter.ToIplImage();
 OpenCVFrameConverter.ToMat  matConverter = new OpenCVFrameConverter.ToMat();
 Frame frame =  matConverter.convert(src);
 IplImage img = iplConverter.convert(frame);
 IplImage result = img.clone();
 img.release();
 return result;
}