简体   繁体   English

边缘检测opencv android

[英]edge detection opencv android

I want to use canny function on android i used it before on c++ now i write it like this 我想在Android上使用canny函数,我以前在c ++上使用过它,现在我这样写

  public Mat onCameraFrame(CvCameraViewFrame inputFrame) {

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

there are no error on code but when i run its on my phone its give me 代码没有错误,但是当我在手机上运行它时,它会给我

Unfortunately , NameProject Preview has stopped

and the adb show 和亚行节目

 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

any idea ? 任何想法 ?

sorry i cant comment You must make it like this 抱歉,我无法发表评论,您必须像这样

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

see this question here 在这里看到这个问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM