gpt4 book ai didi

java - OpenCV Mat 到 JavaCV Mat 转换

转载 作者:太空狗 更新时间:2023-10-29 12:41:09 26 4
gpt4 key购买 nike

我正在编写一个使用 JavaCV 进行面部识别的 Android 应用程序。我遇到了一个小问题,我需要从 org.opencv.core.Mat 转换为 onCameraFrame(CvCameraViewFrame inputFrame) 函数返回到 org .bytedeco.javacpp.opencv_core.Mat org.bytedeco.javacpp.opencv_contrib.FaceRecognizer 需要。

我发现了类似的问题herehere但都没有找到可行的解决方案。

最佳答案

https://github.com/bytedeco/javacpp/issues/38#issuecomment-140728812 中记录了一种更简单、更有效的方法,简而言之:

JavaCPP/JavaCV:

Mat mat2 = new Mat((Pointer)null) { { address = mat.getNativeObjAddr(); } };

OpenCV官方Java API:

Mat mat = new Mat(mat2.address());

编辑:OpenCVFrameConverter现在提供了一种更简单、更安全的方法来执行此操作,例如:

OpenCVFrameConverter.ToMat converter1 = new OpenCVFrameConverter.ToMat();
OpenCVFrameConverter.ToOrgOpenCvCoreMat converter2 = new OpenCVFrameConverter.ToOrgOpenCvCoreMat();
Mat mat = ...;
org.opencv.core.Mat cvmat = converter2.convert(converter1.convert(mat));
Mat mat2 = converter2.convert(converter1.convert(cvmat));

关于java - OpenCV Mat 到 JavaCV Mat 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25535057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com