Я считаю, что вы можете конвертировать 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;
}
Спасибо rajind за ваш ответ кажется работой. но теперь столкнулся с новой проблемой: bytedeco IplImage to googlecode IplImage и bytedeco Mat для преобразования текста в коде googlecode, можете ли вы предложить, как я могу это сделать. (На самом деле есть две независимые модели, которые генерируют IplImage в bytedeco, который использует обновленную модель jar и secound, принимают IplImage в googlecode, который использует старую версию jar). Надеюсь, вы понимаете, чего я пытаюсь достичь. – Vicky
@ Vicky почему вы пытаетесь пойти с двумя отдельными версиями в первую очередь? –
Привет, Rajind, к сожалению, это уже было написано :( – Vicky