[英]Open the Android native Camera using OpenCV
I just need to know about how can I start with this actually I need to open the Android native camera using opencv.我只需要知道如何开始,实际上我需要使用 opencv 打开 Android 原生相机。
Where can I find the related docs or any helping material?我在哪里可以找到相关文档或任何帮助材料? I have setup my eclipse working with the opencv sample projects!
我已经使用 opencv 示例项目设置了我的 Eclipse!
Have a look at the shipped opencv samples in opencv/samples/android/, there you should be able to find a few good examples.查看 opencv/samples/android/ 中随附的 opencv 示例,您应该可以在那里找到一些很好的示例。 Here is also a link to the docs that shows how to open the camera .
这里还有一个链接,指向显示如何打开相机的文档。 Don't forget to request the permissions to access the camera.
不要忘记请求访问相机的权限。
Short version, see the link for full details: Add a layout:简短版本,请参阅链接以获取完整详细信息:添加布局:
<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 procedure:初始化程序:
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);
}
Implement CVFrameListener2 interface:实现 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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.