【发布时间】:2016-06-08 04:57:29
【问题描述】:
我对 OpenCV4Android 有疑问。
java.lang.RuntimeException:无法启动活动 组件信息{com.example.camtime/com.fognature.develop.smp.CameraActivity}: CvException [org.opencv.core.CvException: cv::Exception: /hdd2/buildbot/slaves/slave_ardbeg1/50-SDK/opencv/modules/imgproc/src/color.cpp:3739: 错误:(-215) scn == 3 || scn == 4 在函数 void cv::cvtColor(cv::InputArray, cv::OutputArray, int, int) ] 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2320) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2380) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5289) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 引起:CvException [org.opencv.core.CvException: cv::Exception: /hdd2/buildbot/slaves/slave_ardbeg1/50-SDK/opencv/modules/imgproc/src/color.cpp:3739: 错误:(-215) scn == 3 || scn == 4 在函数 void cv::cvtColor(cv::InputArray, cv::OutputArray, int, int) ] 在 org.opencv.imgproc.Imgproc.cvtColor_1(本机方法) 在 org.opencv.imgproc.Imgproc.cvtColor(Imgproc.java:4598) 在 com.fognature.develop.smp.CameraActivity.onCreate(CameraActivity.java:108) 在 android.app.Activity.performCreate(Activity.java:6018) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2273) ... 10 更多
在此代码部分:
Mat sec;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sec = new Mat();
setContentView(R.layout.activity_camera);
File photo = new File(Environment.getExternalStorageState()
+File.separator+"SMP"+File.separator+getIntent().getStringExtra("c_name")+File.separator+getIntent().getStringExtra("last_photo"));
sec = Highgui.imread(photo.getAbsolutePath());
Imgproc.cvtColor(sec, sec, Imgproc.COLOR_RGBA2GRAY);
}
它总是在 Imgproc.cvtColor(sec, sec, Imgproc.COLOR_RGBA2GRAY);
上崩溃【问题讨论】: