2012-11-23 3 views
0

나는 opencv4android에서 예제로 제공하는 15 개의 퍼즐 코드를 축소했습니다. 이제 단축 코드는 원래의 다큐멘터리 위치에서 잘 실행되지만, 다른 곳에서 설정된 helloworld 프로젝트에 복사 한 후 LogCool이 MainActivity의 NoClassFoundDefError를 지정하면 프로그램이 중단됩니다. manifest.xml을 살펴 보았지만 문제의 원인을 파악할 수는 없습니다. 나 좀 도와 줄 수있어? 고맙습니다!opencv4android 예제 15 퍼즐에 대해

아래는 내 코드입니다 :

1.puzzle15Activity

package org.opencv.samples.puzzle15; 
import org.opencv.android.BaseLoaderCallback; 
import org.opencv.android.LoaderCallbackInterface; 
import org.opencv.android.OpenCVLoader; 
import org.opencv.core.Mat; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.Window; 
import android.text.method.*; 
import android.widget.Toast; 
import android.view.View; 
import android.view.*; 


public class puzzle15Activity extends Activity 
{ 

SampleCvViewBase mView=null; 
private BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) 
{ 
    @Override 
    public void onManagerConnected(int status) { 
     switch (status) { 
      case LoaderCallbackInterface.SUCCESS: 
      { 
       mView=new SampleCvViewBase(mAppContext); 
       setContentView(mView); 


      } break; 
      default: 
      { 
       super.onManagerConnected(status); 
      } break; 
     } 

    } 
}; 


@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2,this,mOpenCVCallBack); 

} 

}

2.SampleCvViewBase

package org.opencv.samples.puzzle15; 

import java.util.List; 
import org.opencv.core.Mat; 
import org.opencv.core.Size; 
import org.opencv.highgui.VideoCapture; 
import org.opencv.highgui.Highgui; 
import org.opencv.core.Scalar; 
import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.Canvas; 
import android.util.Log; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 
import org.opencv.core.*; 
import org.opencv.calib3d.Calib3d; 

class SampleCvViewBase extends SurfaceView implements SurfaceHolder.Callback, Runnable { 


int t; 
Scalar s=new Scalar(100,100,100,100); 
Scalar s1=new Scalar(1); 
Scalar s2=new Scalar(100); 
byte []t1={1,0,0,1}; 
int []t2={5,4,3,2}; 
int[] t3; 



Mat mrgba; 
Mat m1,m2,m3; 
public int[] list={1,2,3}; 

@Override 
public SampleCvViewBase(Context context) { 
    super(context); 
    mrgba=new Mat(4,4,CvType.CV_16S,s); 
    mrgba.create(4,4,CvType.CV_8UC(15)); 
    m1=new Mat(2,2,CvType.CV_8U,s1); 
    m2=new Mat(2,2,CvType.CV_32S,s2); 
    m3=new Mat(2,2,CvType.CV_32S,s2); 
    m1.put(0,0,t1); 
    m2.put(0,0,t2); 
    t3=new int[4]; 
    m2.get(0,0,t3); 
    t3[1]=200; 
    m2.put(0,0,t3); 
    m2.copyTo(m3); 


} 

public void surfaceChanged(SurfaceHolder _holder, int format, int width, int height) { 

} 

public void surfaceCreated(SurfaceHolder holder) { 

     } 

public void surfaceDestroyed(SurfaceHolder holder) { 

    } 

public void run() {} 

} 
+0

고마워, 나 스스로 노력하고있어 ... 누군가가 나에게 완벽한 오픈 CC 설정 프레임을 제공 할 수 있을까? ... – Yiyangchen

+0

나는 그걸 모르고있다. 다른 사람들도 그렇게 할 수 있습니다. –

답변

0

OK, 지금은이 뒤에 몇 가지 이유를 발견했다. bin의 클래스는 컴파일되지 않습니다.

관련 문제