日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

使用Android studio3.6的java api方式調(diào)用opencv

瀏覽:150日期:2022-09-03 16:10:17

基本環(huán)境:

Android studio3.6

NDK:r15c(盡量使用該版本)

Opencv3.4.1 android sdk

操作:

(1)新建工程,選擇Empty Activity,工程名為op

(2)File->New->Import Module,然后選擇自己的java-opencv的相對(duì)應(yīng)路徑,比如,D:AndroidOpenCV-android-sdksdkjava

(3)修改openCVlibrary341下面的build.gradle中的,compileSdkVersion,buildToolsVersion,minSdkVersion,targetSdkVersion,使得和自己的工程下面的app/build.gradle的版本一致。

(4)修改openCVlibrary341下面的src/main中的AndroidManifest.xml中的minSdkVersion,targetSdkVersion,使得和自己的工程下面的app/build.gradle的版本一致。

(5)app/src/main/res/drawable下面增加一張圖片

使用Android studio3.6的java api方式調(diào)用opencv

(6)app/src/main/res/layout中修改布局文件activity_main.xml

使用Android studio3.6的java api方式調(diào)用opencv

<RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.MainActivity' > <ImageView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@drawable/dilireba' android:layout_centerInParent='true'/> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/img' android:layout_centerHorizontal='true' android:text='灰度化'/>'</RelativeLayout>

(7)修改app/src/main/java/com.example.op下面的MainActivity

package com.example.op;import androidx.appcompat.app.AppCompatActivity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageView;import org.opencv.android.BaseLoaderCallback;import org.opencv.android.OpenCVLoader;import org.opencv.android.Utils;import org.opencv.core.Mat;import org.opencv.imgproc.Imgproc;public class MainActivity extends AppCompatActivity { Button btnProcess; Bitmap srcBitmap; Bitmap grayBitmap; ImageView img; private static boolean flag = true; private static boolean isFirst = true; private static final String TAG = 'MainActivity'; private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { // TODO Auto-generated method stub switch (status){ case BaseLoaderCallback.SUCCESS: Log.i(TAG, 'baseloader success'); break; default: super.onManagerConnected(status); Log.i(TAG, String.valueOf(status)); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnProcess = (Button)findViewById(R.id.btn_gray_process); img = (ImageView)findViewById(R.id.img); Log.i(TAG, 'initUI sucess...'); btnProcess.setOnClickListener(new ProcessClickListener()); } public void procSrc2Gray(){ Mat rgbMat = new Mat(); Mat grayMat = new Mat(); srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.dilireba); grayBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.ARGB_8888); Utils.bitmapToMat(srcBitmap, rgbMat);//convert original bitmap to Mat, R G B. Imgproc.cvtColor(rgbMat, grayMat, Imgproc.COLOR_RGB2GRAY);//rgbMat to gray grayMat Utils.matToBitmap(grayMat, grayBitmap); //convert mat to bitmap Log.i(TAG, 'procSrc2Gray sucess...'); } private class ProcessClickListener implements View.OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub if(isFirst) { procSrc2Gray(); isFirst = false; } if(flag){ img.setImageBitmap(grayBitmap); btnProcess.setText('gray image'); flag = false; } else{ img.setImageBitmap(srcBitmap); btnProcess.setText('rgb image'); flag = true; } } } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); //load OpenCV engine and init OpenCV library OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION, getApplicationContext(), mLoaderCallback); Log.i(TAG, 'onResume sucess load OpenCV...'); }}

(8)app/build.gradledependencies中增加,

implementation project(path: ’:openCVLibrary341’)

(9)環(huán)境變量,path中增加adb所在路徑,C:UsersxxxAppDataLocalAndroidSdkplatform-tools

(10)命令行進(jìn)入apk所在的路徑D:AndroidOpenCV-android-sdkapk,執(zhí)行,

adb install OpenCV_3.4.1_Manager_3.41_x86.apk

在模擬器中安裝opencv-manager,然后重啟模擬器

使用Android studio3.6的java api方式調(diào)用opencv

工程目錄結(jié)構(gòu):

使用Android studio3.6的java api方式調(diào)用opencv

運(yùn)行:

使用Android studio3.6的java api方式調(diào)用opencv

The Code:

http://xiazai.jb51.net/202003/yuanma/op_jb51.rar

總結(jié)

到此這篇關(guān)于使用Android studio3.6的java api方式調(diào)用opencv的文章就介紹到這了,更多相關(guān)Android studio3.6java api調(diào)用opencv內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品亚洲美女网站| 国产精品女主播一区二区三区| 日韩精品一二三| 国产精品扒开腿做爽爽爽软件| 国产福利资源一区| 欧美69视频| 欧美a一区二区| 国产精品99在线观看| 亚洲高清影视| 国产精品综合色区在线观看| 日韩欧美不卡| 视频一区二区国产| 欧美综合精品| 亚洲欧洲一区| 福利一区二区| 亚洲一级大片| 久久在线视频免费观看| 免费在线成人| 老鸭窝亚洲一区二区三区| 欧美日本一区| 日韩和的一区二在线| 中文字幕日韩欧美精品高清在线| 久久精品系列| 色8久久久久| 麻豆精品在线| 亚洲激情国产| 97精品中文字幕| 免费人成精品欧美精品| 精品久久久久中文字幕小说| 日韩精品一级中文字幕精品视频免费观看 | 欧美专区在线| 福利一区和二区| 日韩精品亚洲aⅴ在线影院| 精品国产美女a久久9999| 亚洲tv在线| 伊人久久亚洲影院| 人在线成免费视频| 久久精品伊人| 欧美激情麻豆| 久久av免费| 国产精品手机在线播放| av不卡免费看| 亚洲午夜av| 久久久久午夜电影| 美女av在线免费看| 成人午夜网址| 成人台湾亚洲精品一区二区| 国产精品一区二区美女视频免费看 | 日韩区欧美区| 99热精品久久| 国产一区亚洲| 欧美91福利在线观看| 欧美三级网址| 美女少妇全过程你懂的久久| 成人午夜国产| 久久影院一区| 亚洲国产影院| 亚洲欧美日韩视频二区| 日本在线不卡视频一二三区| 亚洲福利精品| 首页国产欧美久久| 视频精品一区| 麻豆国产精品视频| 国产精品99精品一区二区三区∴| 欧美日韩91| 久久婷婷激情| 乱一区二区av| 男女激情视频一区| 99精品综合| 另类欧美日韩国产在线| 国产精品色婷婷在线观看| 亚洲香蕉久久| 亚洲免费中文| 伊人久久成人| 亚洲综合精品四区| 亚洲精品网址| 国产综合精品一区| 日韩欧美中文在线观看| 欧洲av一区二区| 日韩国产在线观看一区| 日韩久久视频| 国产精品亚洲综合久久| 日韩视频二区| 都市激情国产精品| 日韩高清三区| 欧美专区一区二区三区| 亚洲综合精品四区| 国产情侣一区在线| 亚洲调教视频在线观看| 国产精品久一| 激情综合在线| 国产精品久久| 亚洲天堂免费| 久久不卡日韩美女| 欧美综合二区| 精品国产欧美日韩一区二区三区| 模特精品在线| 久久精品国产www456c0m| 成人综合一区| 精品一区二区三区免费看 | 日韩精品欧美大片| 蜜臀av国产精品久久久久| 欧美成人一二区| 99国内精品| 中文字幕av一区二区三区四区| 一二三区精品| 久久久久久黄| 欧美专区一区| 亚洲免费播放| 国产黄色精品| 国产亚洲欧洲| 色乱码一区二区三区网站| 一二三区精品| 深夜福利亚洲| 蜜臀91精品国产高清在线观看| 精品91福利视频| 91麻豆精品激情在线观看最新 | 中文字幕av一区二区三区人| 2023国产精品久久久精品双| 麻豆国产精品一区二区三区| 91亚洲精品在看在线观看高清| 石原莉奈在线亚洲三区| 亚洲免费激情| 国产精品外国| 国产亚洲一级| 老鸭窝毛片一区二区三区| 欧美成人综合| 99在线|亚洲一区二区| 99免费精品| 日韩一级网站| 久久大逼视频| 日韩三级久久| 国产欧美亚洲一区| 蜜桃久久久久久| 日本va欧美va精品发布| 欧美午夜三级| 久久精品网址| 91看片一区| 美女久久一区| 日韩欧美四区| 国产成人精品一区二区三区免费| 成人污污视频| 视频一区二区欧美| 国产精久久一区二区| 日韩在线中文| 国产精品老牛| 日韩高清电影一区| 黄色在线网站噜噜噜| 色网在线免费观看| 亚洲欧美视频| 久久成人福利| 影院欧美亚洲| 国产精品久久久一区二区| 超级白嫩亚洲国产第一| 亚洲精品2区| 国产精品二区影院| 欧美在线亚洲| 久久99久久人婷婷精品综合| 欧美日韩精品一区二区视频| 日本不卡视频在线观看| 久久精品亚洲欧美日韩精品中文字幕| 午夜在线精品偷拍| 国产一区二区三区黄网站| 欧美精品一二| 久久精品一区二区国产| 久久亚洲影院| 欧洲一区二区三区精品| 91嫩草精品| 亚洲一区日韩在线| 色一区二区三区四区| 久久精品官网| 国产剧情一区| 亚洲综合专区| 激情久久五月| 在线手机中文字幕| 国产精品极品| 亚洲伊人精品酒店| 99久久婷婷| 国际精品欧美精品| 亚洲精品美女| 美女日韩在线中文字幕| 美女网站一区| 99免费精品| 久久免费大视频| 亚洲电影有码| 国产美女高潮在线观看| 国产精品一区二区三区av麻| 亚洲免费毛片| 亚洲综合五月| 久久香蕉精品| 日av在线不卡| 日韩一区二区三免费高清在线观看| 午夜久久一区| 亚洲高清二区| 亚洲午夜av| 免费黄网站欧美| 伊人精品久久| 欧美一级全黄| 久久精品网址| 欧美成人a交片免费看|