亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Android通過Java sdk的方式接入OpenCv的方法

瀏覽:60日期:2022-09-03 08:11:47

簡述

公司最近要做運動檢測和眼球追蹤,鑒于資費等因素,最后考慮使用OpenCv的相關Api來來滿足業務需求。在使用過程中發現OpenCv的v4.2.0和v4.1.2接入后均存在一些bug,所以最后選擇了v4.1.0版本。

接入步驟

一、下載OpenCV Sdk

前往OpenCv官網下載對應的Android v4.1.0版本的sdk。

Android通過Java sdk的方式接入OpenCv的方法

二、Android Studio 集成OpenCV Sdk

1、Android Studio 下載cmake和ndk

Android通過Java sdk的方式接入OpenCv的方法

2、Android Studio 新建ndk項目

Android通過Java sdk的方式接入OpenCv的方法

Android通過Java sdk的方式接入OpenCv的方法

Android通過Java sdk的方式接入OpenCv的方法

3、Android Studio 導入OpenCv Sdk

將下載后的OpenCv Sdk進行解壓。

將解壓后的OpenCv Sdk目錄下的sdk目錄里面的java包通過Moudule的方式導入到Studio中。

Android通過Java sdk的方式接入OpenCv的方法

Android通過Java sdk的方式接入OpenCv的方法

Android通過Java sdk的方式接入OpenCv的方法

3、修改導入opencv的build.gradle

Android通過Java sdk的方式接入OpenCv的方法

修改opencv的build.gradle的對應的compileSdkVersion等信息。只需復制app下的build.gradle文件中的即可。記住兩點:

apply plugin: ’com.android.library’一定要改成library;

去掉applicationId 'com.xx.xx'

4、導入so庫

在項目app/src/main目錄下新建jniLibs,并將解壓后的OpenCv Sdk 目錄下對應的路徑 sdk/native/libs 中的 文件復制到jniLibs。

Android通過Java sdk的方式接入OpenCv的方法

AndroidManifest增加相機權限

<uses-permission android:name='android.permission.CAMERA' /><uses-feature android:name='android.hardware.camera' /><uses-feature android:name='android.hardware.camera.autofocus' />

Android通過Java sdk的方式接入OpenCv的方法

三、使用

1、application中檢測是否接入成功。

override fun onCreate() { super.onCreate() OpenCVLoader.initDebug() val loadSuccess: Boolean = OpenCVLoader.initDebug() if (!loadSuccess) { Log.e('-->', 'Opencv load Fail') } else { Log.e('-->', 'Opencv load Success') }}

2、動態申請相機權限

if(ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), 1);}else{ startActivity(Intent(this,OpenCvActivity::class.java))}

3、測試opencv

class OpenCvActivity : AppCompatActivity(), CvCameraViewListener2 { private lateinit var mRotateFrame: Mat private lateinit var mRgbFrame: Mat public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) setContentView(R.layout.activity_opencv) jcv_surface_view.setCvCameraViewListener(this) // 開啟前置攝像頭 jcv_surface_view.setCameraIndex(CameraBridgeViewBase.CAMERA_ID_FRONT) } public override fun onPause() { super.onPause() if (jcv_surface_view != null) { jcv_surface_view!!.disableView() } } public override fun onResume() { super.onResume() if (!OpenCVLoader.initDebug()) { OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION, this, mLoaderCallback) } else { mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS) } } public override fun onDestroy() { super.onDestroy() if (jcv_surface_view != null) { jcv_surface_view!!.disableView() } } override fun onCameraViewStarted(width: Int, height: Int) { mRotateFrame = Mat() mRgbFrame = Mat() } override fun onCameraViewStopped() {} override fun onCameraFrame(inputFrame: CvCameraViewFrame): Mat { mRgbFrame = inputFrame.rgba() // 旋轉屏幕 Core.flip(mRgbFrame, mRotateFrame, 1) return mRotateFrame } private val mLoaderCallback: BaseLoaderCallback = object : BaseLoaderCallback(this) { override fun onManagerConnected(status: Int) { when (status) {LoaderCallbackInterface.SUCCESS -> { jcv_surface_view!!.enableView()}else -> { super.onManagerConnected(status)} } } }}

<RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent'> <org.opencv.android.JavaCameraView android: android:layout_width='match_parent' android:layout_height='match_parent' /></RelativeLayout>

結果展示:

Android通過Java sdk的方式接入OpenCv的方法

展示圖

Demo 的 Github 地址 https://github.com/Mp5A5/AndroidOpenCv

到此這篇關于Android通過Java sdk的方式接入OpenCv的方法的文章就介紹到這了,更多相關Android Java sdk接入OpenCv內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 看免费的毛片 | 亚洲一区二区影院 | 搞黄网站在线观看 | 91香蕉视频苹果 | 国产成人香蕉在线视频fuz | 亚洲精品亚洲人成在线观看麻豆 | 那里有毛片看 | 欧美第二区 | 色综合综合色综合色综合 | 国产视频在线免费观看 | 日韩不卡毛片 | 久久综合一区二区三区 | 国产三级黄色毛片 | 国产亚洲欧美另类一区二区三区 | 在线欧美精品国产综合五月 | jizz国产精品免费麻豆 | 国产成人午夜片在线观看 | 亚洲免费中字慕日产2021 | 亚洲第一免费网站 | www.婷婷.com| 中文字幕成人乱码在线电影 | 欧美一级毛片欧美毛片视频 | 国产一区二区三区四卡 | 黄色一级一毛片 | 日韩在线一区二区三区 | 啪啪网站色大全免费 | 国产在线a不卡免费视频 | 成年人黄色片网站 | 亚洲成a人片在线观看www流畅 | 夜夜夜爽爽爽久久久 | 国产成人在线视频网站 | a级特黄的片子 | 欧美一区二区三区四区在线观看 | 91老女人| 亚洲综合欧美日韩 | 国产短视频精品一区二区三区 | 一 级 黄 色蝶 片 | 精品尤物 | 欧美一区二区三区在观看 | 亚洲欧美精品成人久久91 | japanese色国产在线看视频 |