1

我目前正在做我最后一年的项目,我是 android 新手。我想在我的项目中使用图像拼接艺术来制作教室的全景视图。我尝试了很多教程和代码。这似乎是代码与 http://www.cs.cornell.edu/courses/cs4670/2010fa/projects/final/results/group_of_acc269_ty244_yc563/cs4670_final.html

是正确的。但是当我要运行这段代码时,我看到了很多错误。任何人都可以请给出一个想法。这真的很有帮助。谢谢你..

代码是发生的错误....

导入 com.opencv.camera.NativePreviewer;

导入 com.opencv.camera.NativeProcessor;

导入 com.opencv.camera.NativeProcessor.PoolCallback;

导入 com.opencv.jni.image_pool;

导入 com.opencv.opengl.GL2CameraViewer;

导入 com.theveganrobot.cvcamera.jni.Processor;

导入 com.theveganrobot.cvcamera.jni.cvcamera;

public class CVCamera extends Activity { -----> 这里的错误是 import com.opencv.camera.NativePreviewer;import com.opencv.opengl.GL2CameraViewer;import com.theveganrobot.cvcamera.jni.Processor;import com.theveganrobot。 cvcamera.jni.cvcamera;进口com.opencv.jni.opencv;

在 NativeProcessor 类中导入 com.opencv.jni.opencv;------> 导入 this 及其函数

公共类 NativeProcessor {

private class ProcessorThread extends Thread {



    private void process(NPPostObject pobj) throws Exception {




        if (pobj.format == PixelFormat.YCbCr_420_SP) {




            opencv.addYUVtoPool(pool, pobj.buffer, 0, pobj.width, pobj.height, false);





        } else if (pobj.format == PixelFormat.YCbCr_422_SP) {




            opencv.addYUVtoPool(pool, pobj.buffer, 0, pobj.width,pobj.height, true);


        }

在 image_pool.java 类中

包 com.opencv.jni;

public class image_pool {



  private long swigCPtr;




  protected boolean swigCMemOwn;




  public image_pool(long cPtr, boolean cMemoryOwn)

{ swigCMemOwn = cMemoryOwn;

        swigCPtr = cPtr;




  }


  public static long getCPtr(image_pool obj) {




        return (obj == null) ? 0 : obj.swigCPtr;



  }

受保护的无效finalize(){

    delete();



  }

  public synchronized void delete() {




    if (swigCPtr != 0) {




      if (swigCMemOwn) {




        swigCMemOwn = false;




        opencvJNI.delete_image_pool(swigCPtr);




      }



      swigCPtr = 0;




    }



  }

  public image_pool() {




    this(opencvJNI.new_image_pool(), true);




  }



  public PtrMat getImage(int i) {





    return new PtrMat(opencvJNI.image_pool_getImage(swigCPtr, this, i), true);



  }

  public void addImage(int i, PtrMat mat) {




    opencvJNI.image_pool_addImage(swigCPtr, this, i, PtrMat.getCPtr(mat), mat);




  }




}

在这里导入opencvJNI。image_pool.java 类上的函数并创建 PtrMat 类。我认为那些 impordet 类似乎不在项目中..我真的试图找到代码,但它们给出了很大的错误..你能考虑这个问题吗请。

4

1 回答 1

0

请按照教程设置您的环境。

在尝试运行下载的代码之前,应完成几件事,包括但不限于以下内容:

1)下载Opencv4Android

2)将Opencv4Android lib链接到你的eclipse项目中作为属性页面中的“lib”

3)设置Java NDK环境(下载,添加到“环境变量”中)

4)javaCV设置和android集成

希望有帮助。

PS 我刚刚完成了两个涉及 opencv4android 的课程设计

于 2013-06-16T03:47:27.587 回答