2016-12-29 56 views
0

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

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

谢谢

回答

0

我相信你可以将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; 
} 
+0

感谢rajind为您的答复似乎工作。但现在我面临着新的问题:bytedeco IplImage googlecode IplImage和bytedeco垫googlecode垫转换,你可以请建议我怎么能做到这一点。 (实际上有两个独立的模型,一个是在使用更新的jar和secound模型的bytedeco中生成IplImage,另一个是使用旧版jar的googlecode中的IplImage)。希望你明白正在努力达到的目标。 – Vicky

+0

@Vicky你为什么试图在两个单独的版本首先去? –

+1

嗨Rajind,不幸的是,已经devloped :( – Vicky