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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

簡述

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

接入步驟

一、下載OpenCV Sdk

前往OpenCv官網(wǎng)下載對應的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 中的 文件復制到j(luò)niLibs。

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

AndroidManifest增加相機權(quán)限

<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、動態(tài)申請相機權(quán)限

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() // 旋轉(zhuǎn)屏幕 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>

結(jié)果展示:

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

展示圖

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

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

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国内精品久久久久久久久 | 亚洲欧美日韩中文不卡 | 免看一级一片一在线看 | 99久久99 | 免费三级网址 | 久久成年人 | 一级毛片视频在线观看 | 亚洲午夜久久久久国产 | 欧美综合另类 | 成视频年人黄网站免费视频 | 亚洲综合视频在线 | 国产日韩不卡免费精品视频 | 成人综合色站 | 久久夜色撩人精品国产 | 欧美视频在线观看一区二区 | 亚洲在线免费观看 | 国产高清国内精品福利99久久 | 干综合网| 一级做a爰片性色毛片视频图片 | 看草逼 | 亚洲欧美日韩国产精品网 | 在线观看一区二区三区视频 | 九九热亚洲精品综合视频 | 9久热这里只有精品视频在线观看 | 看黄色的网址 | 一级黄色大片免费看 | 中文精品爱久久久国产 | 日韩激情在线 | 精品视频h| 一区二区三区不卡免费视频97 | 国产麻豆传媒视频 | 日本黄免费 | 日产国产精品久久久久久 | 国产成人一级片 | 亚欧一区 | 国产三级毛片视频 | 图片一区 | 成人h免费观看视频 | 综合久久99 | 国内在线播放 | 精品一区二区三区高清免费观看 |