2015-07-20 226 views
0

我想用精明的功能在Android我之前用它在C++ 現在我把它寫這樣邊緣檢測OpenCV的機器人

public Mat onCameraFrame(CvCameraViewFrame inputFrame) { 

     mRgba = inputFrame.gray(); 
     Imgproc.Canny(mRgba, edge, 225, 250); 
     return edge; 
    } 

有在代碼中沒有錯誤,但在我的手機上運行的其給我

Unfortunately , NameProject Preview has stopped 

和亞洲開發銀行展示

07-20 23:03:01.568: E/OpenCV_for_Tegra(6648): Tegra Version detected: 0 
    07-20 23:03:01.588: D/dalvikvm(6648): GC_FOR_ALLOC freed 150K, 10% free 9182K/10148K, paused 15ms, total 16ms 
    07-20 23:03:01.588: I/dalvikvm-heap(6648): Grow heap (frag case) to 11.226MB for 1536016-byte allocation 
    07-20 23:03:01.598: D/dalvikvm(6648): GC_FOR_ALLOC freed 0K, 9% free 10682K/11652K, paused 12ms, total 12ms 
    07-20 23:03:01.608: D/JavaCameraView(6648): startPreview 
    07-20 23:03:01.658: E/dalvikvm(6648): adjustAdaptiveCoef max=4194304, min=1048576, ut=568 
    07-20 23:03:01.658: D/dalvikvm(6648): GC_CONCURRENT freed 3K, 9% free 10681K/11652K, paused 3ms+2ms, total 62ms 
    07-20 23:03:02.149: D/JavaCameraView(6648): Starting processing thread 
    07-20 23:03:02.469: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:02.529: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:02.639: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:02.739: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:02.839: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:02.939: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:03.000: W/dalvikvm(6648): threadid=11: thread exiting with uncaught exception (group=0x40fb2930) 
    07-20 23:03:03.000: E/AndroidRuntime(6648): FATAL EXCEPTION: Thread-21050 
    07-20 23:03:03.000: E/AndroidRuntime(6648): java.lang.NullPointerException 
    07-20 23:03:03.000: E/AndroidRuntime(6648):  at org.opencv.imgproc.Imgproc.Canny(Imgproc.java:448) 
    07-20 23:03:03.000: E/AndroidRuntime(6648):  at org.opencv.samples.tutorial1.Tutorial1Activity.onCameraFrame(Tutorial1Activity.java:167) 
    07-20 23:03:03.000: E/AndroidRuntime(6648):  at org.opencv.android.CameraBridgeViewBase.deliverAndDrawFrame(CameraBridgeViewBase.java:387) 
    07-20 23:03:03.000: E/AndroidRuntime(6648):  at org.opencv.android.JavaCameraView$CameraWorker.run(JavaCameraView.java:328) 
    07-20 23:03:03.000: E/AndroidRuntime(6648):  at java.lang.Thread.run(Thread.java:856) 
    07-20 23:03:03.040: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:03.150: D/JavaCameraView(6648): Preview Frame received. Frame size: 576000 
    07-20 23:03:03.210: D/JavaCameraView(6648): Disconnecting from camera 
    07-20 23:03:03.210: D/JavaCameraView(6648): Notify thread 
    07-20 23:03:03.210: D/JavaCameraView(6648): Wating for thread 

什麼想法?

+0

你聲明「邊緣」? – Miki

+0

沒有它讓我遺憾的是,NameProject預覽已停止 只是當運行 – medo

+0

我看到這莫比我dosent寫代碼的權利 參見下面的要輸入墊8位和輸出相同的尺寸 – medo

回答

0

對不起,我不能評論你必須像這樣

public void onCameraViewStarted(int width, int height) { 
cany= new Mat(height, width, CvType.CV_8UC4); 
} 

看到這個問題here