2013-06-18 6 views
7

का उपयोग कर एंड्रॉइड मूल कैमरा खोलें मुझे बस यह जानने की ज़रूरत है कि मैं वास्तव में कैसे शुरू कर सकता हूं, मुझे ओपनसीवी का उपयोग करके एंड्रॉइड मूल कैमरा खोलने की जरूरत है।ओपनसीवी

मुझे संबंधित दस्तावेज़ या कोई सहायक सामग्री कहां मिल सकती है? मैंने ओपनसीवी नमूना परियोजनाओं के साथ काम कर अपना ग्रहण स्थापित किया है!

उत्तर

15

ओपनसीवी/नमूने/एंड्रॉइड/में भेजे गए ओपनसीवी नमूने पर एक नज़र डालें, वहां आपको कुछ अच्छे उदाहरण मिल पाएंगे। यहां दस्तावेज़ों का एक लिंक भी है जो how to open the camera दिखाता है। कैमरे तक पहुंचने के लिए अनुमतियों का अनुरोध करना न भूलें। एक लेआउट जोड़ें::

<org.opencv.android.JavaCameraView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:visibility="gone" 
    android:id="@+id/HelloOpenCvView" 
    opencv:show_fps="true" 
    opencv:camera_id="any" /> 

Init प्रक्रिया:

लघु संस्करण, पूर्ण विवरण के लिए लिंक देखें

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 
    @Override 
    public void onManagerConnected(int status) { 
     switch (status) { 
      case LoaderCallbackInterface.SUCCESS: 
      { 
       Log.i(TAG, "OpenCV loaded successfully"); 
       mOpenCvCameraView.enableView(); 
      } break; 
      default: 
      { 
       super.onManagerConnected(status); 
      } break; 
     } 
    } 
}; 

@Override 
public void onResume() 
{ 
    super.onResume(); 
    OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback); 
} 

लागू CVFrameListener2 इंटरफ़ेस:

private CameraBridgeViewBase mOpenCvCameraView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    Log.i(TAG, "called onCreate"); 
    super.onCreate(savedInstanceState); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    setContentView(R.layout.HelloOpenCvLayout); 
    mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.HelloOpenCvView); 
    mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); 
    mOpenCvCameraView.setCvCameraViewListener(this); 
} 

@Override 
public void onPause() 
{ 
    super.onPause(); 
    if (mOpenCvCameraView != null) 
     mOpenCvCameraView.disableView(); 
} 

public void onDestroy() { 
    super.onDestroy(); 
    if (mOpenCvCameraView != null) 
     mOpenCvCameraView.disableView(); 
} 

public void onCameraViewStarted(int width, int height) { 
} 

public void onCameraViewStopped() { 
} 

public Mat onCameraFrame(CvCameraViewFrame inputFrame) { 
    return inputFrame.rgba(); 
} 
+0

आप भी बता सकते हैं कैप्चर की गई छवि से किसी क्षेत्र का पता कैसे लगाएं? – TharakaNirmana

+0

कृपया इसे एक नए प्रश्न के रूप में जोड़ें, क्योंकि यह इस से संबंधित नहीं है। खासकर जब से यह एक व्यापक विषय है। – Nicholas