如何在不使用JavaCameraview的情况下使用OpenCV处理保存在智能手机上的一些图像?
我想处理保存在SD卡上的图像,然后在屏幕上显示该过程的结果.我根据opencv4androID库的教程实现了我,他们使用onCameraFrame方法显示图像并实现CameraviewListener并使用CameraBrIDgeVIEwBase.但是,我只想处理图像,我不想使用相机来捕捉图像,我认为这些元素可能是不必要的.
如何在不使用相机的情况下更改opencv4androID库并使用OpenCV处理存储的图像?
解决方法:
如果有人还在寻找答案:
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 }}
不要忘记在Project PropertIEs =>中添加opencv库. AndroID =>图书馆.
总结以上是内存溢出为你收集整理的android – 如何在没有摄像头的情况下将OpenCV与存储的图像一起使用?全部内容,希望文章能够帮你解决android – 如何在没有摄像头的情况下将OpenCV与存储的图像一起使用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)