gpt4 book ai didi

Android OpenCV 2.4.2 教程 Eclipse - 无法 dlopen 相机包装库

转载 作者:行者123 更新时间:2023-12-02 17:53:45 24 4
gpt4 key购买 nike

我正在尝试运行所有 OpenCV 教程,但到目前为止,还无法运行教程 2、人脸检测、颜色 Blob 检测;但是,我可以运行教程 0、1、3 和 4。我已更正了许多错误,包括必须添加所有包含路径:

<includepath>${NDKROOT}/platforms/android-9/arch-arm/usr/include</includepath>
<includepath>C:\android-ndk-r8b\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi\include</includepath>
<includepath>${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include</includepath>
<includepath>C:\android-opencv\sdk\native\jni\include</includepath>
<includepath>C:\android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6.x-google\include</includepath>

我还更新了 Application.mk 文件以使用 APP_ABI := armeabi,这允许 Tuts 3 和 4 工作。 Android版本都是正确的。

一些示例根本不使用 C++ 代码,但它们仍然因无法打开相机包装库而失败。这是在它似乎经历了一系列尝试链接库的每个版本之后,例如 libnative_camera_r2.3.3、r2.2.0 等。
在我将 APP_ABI := armeabi-v7 更新为 APP_ABI := armeabi 之前,Tuts 3 和 4 也这样做了,但这并不能解决其他 Tuts 的问题。

请帮忙。我是 Android NDK 的新手,只有在 Windows 中使用 Open CV 的经验。提前致谢。

我确实注意到,在我可以运行的教程中,手机摄像头是 Camera 类型,并且是使用 .open() 命令打开的;不会运行的摄像头,手机摄像头被声明为 VideoCapture 类型,这显然需要包装库。只是不知道如何把它放到手机上。

最佳答案

显然,这与我正在测试的手机有关:Samsung Galaxy S。我发现其他人也有类似的问题:Camera not working

与其经历皮特为解决这个问题所经历的超人编程飞跃,我决定在另一部手机上尝试一下,HTC 幻灯片。瞧,所有的教程都运行良好,没有问题,没有重新编码。

为了完成任务,我将为我的项目使用 HTC 幻灯片。
如果有人遇到更好的解决方案,请告诉我!

更新:我做了更多研究:http://answers.opencv.org/question/1223/android-opencv-support/
由于硬件平台供应商对其进行了修改,因此似乎并非所有设备都支持 OpenCV Android Native Camera。

最后更新:我对教程做了更多的实验,并有一个重要的 DUH 时刻。您实际上可以在不使用 OpenCV Native Camera 的情况下使用 OpenCV。我通过转换教程 3 中的 SampleViewBase 类来替换人脸检测示例中的 SampleCvViewBase 类对此进行了测试,效果很好!主要技巧是在 processImage 调用期间转换数据,因此:

capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME);

变成了
Mat mYuv = new Mat(getFrameHeight()+getFrameHeight()/2, getFrameWidth(), CvType.CV_8UC1);
mYuv.put(0, 0, data);
Imgproc.cvtColor(mYuv, mRgba, Imgproc.COLOR_YUV420sp2RGB, 4);
Imgproc.cvtColor(mRgba, mGray, Imgproc.COLOR_RGB2GRAY, 0);

主要帮助来自另一篇 stackoverflow 文章: Capture camera preview for using in OpenCV. Converting to RGB and Gray Mat's. Java. Android

如果我没有看到你,下午好,晚上好,晚安!

关于Android OpenCV 2.4.2 教程 Eclipse - 无法 dlopen 相机包装库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12448844/

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