欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

mat opencv java_OpenCV Mat到JavaCV Mat转换

发布时间:2024/10/12 java 85 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mat opencv java_OpenCV Mat到JavaCV Mat转换 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

您可以使用java.awt.image.BufferedImage作为接口。

您org.opencv.core.Mat对象只是转换为java.awt.image.BufferedImage中再取结果对象将其转换为org.bytedeco.javacpp.opencv_core.Mat。

现在,这些都是你需要的功能:

1)转换org.opencv.core.Mat到java.awt.image.BufferedImage中:

public BufferedImage matToBufferedImage(Mat frame) {

int type = 0;

if (frame.channels() == 1) {

type = BufferedImage.TYPE_BYTE_GRAY;

} else if (frame.channels() == 3) {

type = BufferedImage.TYPE_3BYTE_BGR;

}

BufferedImage image = new BufferedImage(frame.width() ,frame.height(), type);

WritableRaster raster = image.getRaster();

DataBufferByte dataBuffer = (DataBufferByte) raster.getDataBuffer();

byte[] data = dataBuffer.getData();

frame.get(0, 0, data);

return image;

}

2)将Java。 awt.image.BufferedImage到org.bytedeco.javacpp.opencv_core.Mat:

public Mat bufferedImageToMat(BufferedImage bi) {

OpenCVFrameConverter.ToMat cv = new OpenCVFrameConverter.ToMat();

return cv.convertToMat(new Java2DFrameConverter().convert(bi));

}

确保拥有所有必要的罐子和进口。

你可以深入到JNI的东西,但对于测试用例,这应该是足够的。

总结

以上是生活随笔为你收集整理的mat opencv java_OpenCV Mat到JavaCV Mat转换的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。