【发布时间】:2017-06-10 02:44:53
【问题描述】:
我正在开发一个在部分代码中使用 openCV 的视觉定位系统。其中一个步骤涉及使用 Mats。我使用Mat newMat = Mat() 和Mat newMat = Mat(2, 2, CvType.CV_8UC3) 以及其他一些Cv 类型创建了一个新垫子。无论我尝试什么,当我运行代码时,只要它到达上述行,应用程序就会完全崩溃。堆栈跟踪报告两件事之一。当使用较长形式的 mat 声明(第二个代码 sn-p)时,它看起来像这样:
E/ActivityThread: Activity org.firstinspires.ftc.robotcontroller.internal.FtcRobotControllerActivity has leaked IntentReceiver com.qualcomm.analytics.Analytics@f31dd7d that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Activity org.firstinspires.ftc.robotcontroller.internal.FtcRobotControllerActivity has leaked IntentReceiver com.qualcomm.analytics.Analytics@f31dd7d that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:918)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:719)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1172)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1152)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1146)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:554)
at com.qualcomm.analytics.Analytics.register(SourceFile:209)
at com.qualcomm.analytics.Analytics.<init>(SourceFile:235)
at com.qualcomm.modernrobotics.ModernRoboticsUsbUtil.init(SourceFile:85)
at com.qualcomm.ftccommon.FtcEventLoop.init(FtcEventLoop.java:191)
at com.qualcomm.robotcore.eventloop.EventLoopManager.startEventLoop(EventLoopManager.java:571)
at com.qualcomm.robotcore.eventloop.EventLoopManager.setEventLoop(EventLoopManager.java:545)
at com.qualcomm.robotcore.eventloop.EventLoopManager.start(EventLoopManager.java:489)
at com.qualcomm.robotcore.robot.Robot.start(Robot.java:59)
at com.qualcomm.ftccommon.FtcRobotControllerService$RobotSetupRunnable$1.run(FtcRobotControllerService.java:186)
at com.qualcomm.robotcore.util.ThreadPool.logThreadLifeCycle(ThreadPool.java:513)
at com.qualcomm.ftccommon.FtcRobotControllerService$RobotSetupRunnable.run(FtcRobotControllerService.java:128)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
但是我应该使用更短的形式(第一个代码 sn-p)吗?我得到这个以及第一个堆栈跟踪的内容
E/art: No implementation found for void org.opencv.core.Mat.n_delete(long) (tried Java_org_opencv_core_Mat_n_1delete and Java_org_opencv_core_Mat_n_1delete__J)
E/System: Uncaught exception thrown by finalizer
E/System: java.lang.UnsatisfiedLinkError: No implementation found for void org.opencv.core.Mat.n_delete(long) (tried Java_org_opencv_core_Mat_n_1delete and Java_org_opencv_core_Mat_n_1delete__J)
at org.opencv.core.Mat.n_delete(Native Method)
at org.opencv.core.Mat.finalize(Mat.java:911)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
at java.lang.Thread.run(Thread.java:818)
是否有关于代码导致崩溃的原因的简单解释?在我现在运行的代码中,唯一的几行是类声明、函数声明和 mat 声明,但这似乎就是全部。
【问题讨论】:
标签: java android opencv android-studio image-processing