私は、コードの一部でopenCVを使用するビジョンターゲティングシステムに取り組んでいます。ステップの1つに、Matsの使用が含まれます。私はMat newMat = Mat()
とMat newMat = Mat(2, 2, CvType.CV_8UC3)
と他のいくつかのCvタイプを使って新しいマットを作りました。私が何を試みても、コードを実行すると、すぐに上記の行に達すると、アプリは完全にクラッシュします。スタックトレースは、2つのうちの1つを報告します。マット宣言の長い形式は(第二のコードスニペット)を使用した場合には、次のようになります。新しいMat変数を作成するとAndroidアプリがクラッシュする
E/ActivityThread: Activity org.firstinspires.ftc.robotcontroller.internal.FtcRobotControllerActivity has leaked IntentReceiver [email protected] 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 [email protected] 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)
しかし、私は短い形式(第一のコードスニペット)を使用する必要があり、私はこれを取得するだけでなく、の内容最初のスタックトレース
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)
なぜコードがクラッシュを引き起こしているのか簡単な説明はありますか?私が今実行しているコードでは、唯一の行はクラス宣言、関数宣言、およびマット宣言ですが、それはすべてのように見えます。