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

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

使用Android studio3.6的java api方式調用opencv

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

基本環境:

Android studio3.6

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

Opencv3.4.1 android sdk

操作:

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

(2)File->New->Import Module,然后選擇自己的java-opencv的相對應路徑,比如,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方式調用opencv

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

使用Android studio3.6的java api方式調用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)環境變量,path中增加adb所在路徑,C:UsersxxxAppDataLocalAndroidSdkplatform-tools

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

adb install OpenCV_3.4.1_Manager_3.41_x86.apk

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

使用Android studio3.6的java api方式調用opencv

工程目錄結構:

使用Android studio3.6的java api方式調用opencv

運行:

使用Android studio3.6的java api方式調用opencv

The Code:

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

總結

到此這篇關于使用Android studio3.6的java api方式調用opencv的文章就介紹到這了,更多相關Android studio3.6java api調用opencv內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品av一区二区| 亚洲精品在线影院| 人人精品亚洲| 久久av免费看| 国产精品久久久久久久久久齐齐 | 日韩1区2区| 国产精品成人国产| 九色精品91| 亚洲专区视频| 在线手机中文字幕| 国产毛片久久| 国产激情综合| 在线精品视频一区| 国产图片一区| 成人片免费看| 91精品国产自产观看在线| 美女尤物国产一区| 91日韩免费| 免费在线日韩av| 亚洲精品福利电影| 麻豆精品网站| 电影亚洲精品噜噜在线观看 | 国产精品久av福利在线观看| 成人一区而且| 日韩avvvv在线播放| 国产亚洲高清视频| 久久久久久久久丰满| 日韩1区2区3区| 久久亚洲国产精品一区二区| 欧美精品导航| 日本不卡一二三区黄网| 在线亚洲自拍| 伊人成人网在线看| 久久精品青草| 国产精品亚洲欧美| 国产精品多人| 电影91久久久| 久久伊人久久| 亚洲黄色免费看| 日本在线精品| 国产精品二区不卡| 日韩欧美三级| 国产在线欧美| 最新亚洲激情| 激情视频一区二区三区| 秋霞国产精品| 欧美黄色一区二区| 国产黄色一区| 电影91久久久| 久久中文亚洲字幕| 老牛国产精品一区的观看方式| 久久精品伊人| 国产欧美二区| 日韩视频网站在线观看| 国精品一区二区三区| 香蕉久久一区| 欧美在线看片| 另类欧美日韩国产在线| 天堂av在线一区| 国产一卡不卡| 国产一区二区三区四区五区| 精品中国亚洲| 精品视频亚洲| 亚洲一级特黄| 日韩精品亚洲专区| 国产夫妻在线| 日韩美女国产精品| 成人国产精品一区二区网站| 在线一区欧美| 蜜桃精品视频| 性色一区二区| 成人在线视频区| 国产精品亚洲产品| 日韩不卡免费高清视频| 国产91在线播放精品| 国产videos久久| 日韩影院免费视频| 午夜在线精品偷拍| 国产日产精品_国产精品毛片| 伊人久久国产| 亚欧洲精品视频在线观看| 精品三区视频| 国产亚洲电影| 欧洲av一区二区| 国产精品一区二区三区美女 | 欧美午夜三级| 久久国产电影| 国内揄拍国内精品久久| 国产一区亚洲| 欧美日韩中文| 亚洲精品1区2区| 1024精品一区二区三区| 国产精品入口久久| 国产美女撒尿一区二区| 香蕉久久夜色精品国产| 激情综合自拍| 国产欧美一区二区三区精品酒店| 国产精品黄色| 国产欧美69| 成人免费一区| 国产精品va视频| 久久精品av麻豆的观看方式| 国产一区观看| 国产韩日影视精品| 久久狠狠久久| 欧美日韩精品一区二区三区视频| 最新国产精品视频| 先锋影音久久久| 国产视频一区在线观看一区免费| 99精品视频在线| 91精品电影| 日韩精品一区二区三区中文 | 久久中文欧美| 日本中文字幕一区二区视频| 日本不卡视频在线观看| 青青草视频一区| 群体交乱之放荡娇妻一区二区| 四虎影视精品| 免费在线观看一区| 国产一区二区三区视频在线| 亚洲精品午夜av福利久久蜜桃| 日韩毛片视频| 国产二区精品| 麻豆久久久久久久| 国产精品欧美三级在线观看| 久久香蕉网站| 精品一区毛片| 国产亚洲欧美日韩精品一区二区三区| 精品五月天堂| 日韩在线观看| 国产精品最新| 欧美在线综合| 欧美激情91| 精品视频一区二区三区在线观看 | 精品一级视频| 在线成人直播| 91精品高清| 国产中文一区| 999久久久亚洲| 欧洲亚洲一区二区三区| 欧美激情另类| 国产情侣一区在线| 欧美成人久久| 免费视频久久| 日韩一区精品视频| 婷婷综合在线| 日韩在线麻豆| 久久久久免费av| 在线观看一区| 91精品久久久久久久久久不卡| 成人污污视频| 欧美日韩亚洲在线观看| 欧美日韩精品在线一区| 中文字幕亚洲精品乱码| 日韩不卡手机在线v区| 精品日韩在线| 自拍日韩欧美| 亚洲激情黄色| 香蕉久久一区| 国户精品久久久久久久久久久不卡| 婷婷丁香综合| 久久99免费视频| 欧美在线综合| 成人在线免费观看网站| 日韩毛片视频| 欧美激情日韩| 香蕉久久国产| 免费污视频在线一区| 久久精品网址| 欧洲激情综合| 欧美.日韩.国产.一区.二区| 国产黄色精品| 精品亚洲美女网站| 国产精品亚洲一区二区在线观看| 婷婷综合激情| 日本在线啊啊| 国产精品www994| 蜜桃一区二区三区| 久久伊人国产| 97精品国产99久久久久久免费| 欧美福利专区| 国产传媒在线观看| 日韩精选在线| 日韩精品免费一区二区三区| 成人在线黄色| 国产精品theporn| 国产精品片aa在线观看| 黄色日韩精品| 亚洲电影在线一区二区三区| 日韩亚洲一区在线| 你懂的国产精品| 欧美日韩中出| 日韩精品一区二区三区中文| 青青草伊人久久| 国产精品欧美在线观看| 蜜桃久久av一区| 国产亚洲永久域名| 日韩制服丝袜av| 成人国产精品一区二区免费麻豆| 日韩在线看片|