首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有摄像头的情况下对存储的图像使用OpenCV?

如何在没有摄像头的情况下对存储的图像使用OpenCV?
EN

Stack Overflow用户
提问于 2013-09-05 08:08:15
回答 1查看 972关注 0票数 4

在不使用JavaCameraView的情况下,如何使用OpenCV处理保存在智能手机上的某些图像?

我想要处理保存在SD卡上的图像,然后在屏幕上显示处理结果。我根据opencv4android库中的教程实现了my,他们使用onCameraFrame方法来显示图像,实现CameraViewListener并使用CameraBridgeViewBase。然而,我只想处理一张图像,我不想用相机来捕捉图像,我认为这些元素可能是不必要的。

如何在不使用相机的情况下使用OpenCV更改opencv4android库和处理存储的图像?

EN

回答 1

Stack Overflow用户

发布于 2014-03-02 18:58:52

如果有人还在寻找答案:

代码语言:javascript
复制
package com.example.ocv4androidwithoutcamera;

import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.InstallCallbackInterface;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.core.Mat;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.Toast;

public class MainActivity extends Activity implements LoaderCallbackInterface {

    protected BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
            case LoaderCallbackInterface.SUCCESS:
            {
                onOpenCVReady();
            } break;
            default:
            {
                super.onManagerConnected(status);
            } break;
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    protected void onResume()
    {
        super.onResume();

        Log.i("DEMO", "Trying to load OpenCV library");
        if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_4, this, mOpenCVCallBack))
        {
            Log.e("DEMO", "Cannot connect to OpenCV Manager");
        }
    }

    protected void onOpenCVReady(){
        //this should crash if opencv is not loaded
        Mat img = new Mat();
        Toast.makeText(getApplicationContext(), "opencv ready", Toast.LENGTH_LONG).show();

    }

    @Override
    public void onManagerConnected(int status) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onPackageInstall(int operation,
            InstallCallbackInterface callback) {
        // TODO Auto-generated method stub

    }

}

不要忘记在项目属性=> Android =>库中添加opencv库。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18625761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档