当前位置: 首页 > 知识库问答 >
问题:

OpenCV 2.4.6在程序运行时崩溃

公冶桐
2023-03-14

我已经使用Sourceforge存储库在我的Raspberry Pi上编译了OpenCV 2.4.6。我使用以下命令安装它:

wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.6/opencv-2.4.6.tar.gz
tar zxvf opencv-2.4.6.tar.gz  
cd opencv-2.4.6
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_ocl=OFF    
make install

我编译时没有错误。我正在使用人脸识别API从通过Raspberry Pi摄像头模块捕获的视频中识别人脸。我正在使用一个名为RaspiCam的C API从相机捕获帧,它与OpenCV兼容,允许您将捕获的帧保存为OpenCV Mat对象。API的文档位于http://www.uco.es/investiga/grupos/ava/node/40.构建RaspiCam库的源代码如下http://sourceforge.net/projects/raspicam/files/?source=navba.

大多数时候,当我运行人脸识别应用程序时,它运行得很好。但时不时,当我运行我的应用程序时,它会在一段不可预测的时间后变得无响应,没有错误。Task Manager显示程序仍在运行,但CPU使用率非常低,比如2%,而不是通常使用的70-80%。我放置了OpenCV try块进行错误处理,以捕获可能出现的任何OpenCV错误,但没有一个被调用。我注意到,当我不使用OpenCV highgui窗口来显示帧时,我的程序崩溃的频率较低,尤其是通过ssh运行时。有人有过类似的问题吗?

共有1个答案

邵畅
2023-03-14

我在使用“raspicam-0.1.1”时也遇到了同样的问题。对我来说,降低覆盆子pi固件的级别解决了这个问题。

sudo rpi-update 8660fe5152f6353dec61422808835dbcb49fc8b2

我在浏览RPi Cam Web界面时发现了这个固件版本

 类似资料:
  • 当我打开我的android应用程序并测试解析推送通知时,它工作了。但是当我把我的应用程序从多任务中杀死并再次测试时,应用程序崩溃了。 错误日志 08-18 21:16:21.694 244 06-24406/?E/AndroidRuntime:致命异常:main process:com.myatminsoe.mKeyboard,PID:24406 java.lang.runtimeExceptio

  • 经过几天的计划,我刚刚开始为我的聊天应用程序编写一些代码,但问题是,在Gradle Build完成并将应用程序安装在我的设备上之后,它一直在崩溃。我创建了一个预计会打开新活动的按钮,但它没有这样做,而是崩溃了。在我编写任何代码之前,一切都正常,应用程序打开,logcat没有显示任何错误。以下是错误: 我试着遵循其他一些建议,但都不起作用。以下是我的代码片段: }

  • 我有一个发布Runnables的处理程序(线程)。如果Runnable错误地抛出RuntimeException,整个应用程序进程就会崩溃。作为默认情况,这听起来很明智,但我想捕获此类运行时异常,记录错误,然后继续运行。不过,我很难做到这一点。我想到了以下选项: 子类并覆盖,其中包含调用发布的Runnables的方法的代码。这不起作用,因为是最终的。 子类并覆盖调用的run方法。在运行时异常的情况

  • 我在我的Android应用程序中使用GSON来解析数据。我已经在模型对象中添加了枚举。添加枚举后,我的应用程序开始崩溃。当我让runProguard假的时候,一切都很好。当程序是真的时,我做了我能在网上找到的一切来修复这个问题。但还是没运气。 我已经在proguard-rule文件中做了以下事情 枚举材料示例: 我的堆栈跟踪

  • 我有应用程序上传在玩商店。它在调试模式下运行良好,但当我从play store下载相同的APK(发布模式)时,它就崩溃了。我无法确定堆栈跟踪没有给出准确的错误位置。 java.lang.RuntimeException:在Android.os.AsyncTask$3上完成(asynctask.java:318)在java.util.concurrent.FutureTask.FinishCompl