gpt4 book ai didi

android - 使用 OpenCV Android 移植

转载 作者:太空狗 更新时间:2023-10-29 13:43:33 26 4
gpt4 key购买 nike

我想使用 OpenCV Android 移植,你可以找到 HERE , 为增强现实应用程序进行一些图像转换。我发现配置和构建库没有问题,我没有收到任何错误,并且通过 JNI 进程成功地将它放入我的 Android 应用程序中:库 libopencv.so 位于我项目目录下的正确目录“\libs\armeabi\”中.现在的问题是:

1) 首先我想了解这个移植源自哪个版本的原始 openCV 库。对我来说重要的是知道它是从版本 1.5、2.0 还是 2.1 派生的,因为相同的功能非常不同并且其他功能不存在。

2) 在开始实时视频操作之前,我会尝试对单个图像或保存的视频进行一些简单的操作:


JNIEXPORT
jstring
JNICALL
Java_org_examples_testOpenCV_OpenCV_LoadImage(JNIEnv* env, jobject thiz)
{
IplImage* imgIn = cvLoadImage("/sdcard/testimage.jpg", -1);<p></p>

<pre><code>if (!imgIn) return env->NewStringUTF("Error");

cvReleaseImage( &imgIn );

return env->NewStringUTF("Ok");
</code></pre>

<p>}
</p>


JNIEXPORT
jstring
JNICALL
Java_balmas_examples_testOpenCV_OpenCV_manageVideo(JNIEnv* env, jobject thiz)
{
CvCapture* capture = cvCaptureFromFile("/sdcard/video_galaxyspica_352x288_15fps.3gp");<p></p>

<pre><code> if (!capture) return env->NewStringUTF("Error");

return env->NewStringUTF("Ok");
</code></pre>

<p>}
</p>

在这两种情况下,我都会收到“错误”。 sdcard 上的文件没有问题,因为我尝试这样做:


FILE* file = fopen("/sdcard/video_galaxyspica_352x288_15fps.3gp","w+");<p></p>

<p>//FILE* file = fopen("/sdcard/testimage.jpg","w+");</p>

<pre><code>if (!file) return env->NewStringUTF("Error");
else {
fflush(file);
fclose(file);
return env->NewStringUTF("OK");
}
</code></pre>

<p></p>

然后我收到“OK”。我意识到 highgui 库中存在一些问题,但我不明白我应该做什么来避免这个问题。一些建议!!!

谢谢大家

最佳答案

伙计们 - 你可能想试试这个链接,它将 C++“现代”接口(interface)移植到 opencv。 IplImage 东西已被弃用,但如果您需要支持遗留代码,新版本会留下包装器。

http://code.google.com/p/android-opencv/

有一个示例相机校准应用程序,您单击几次快照,它将求解 K 矩阵。

注意:STL 类需要 crystax ndk,http://www.crystax.net/android/ndk-r4.php

关于android - 使用 OpenCV Android 移植,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2804317/

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