Android Studio內配置和使用OpenCV3.x(不依靠Manager)
我所使用的opencv版本為3.1,Android Studio版本為2.0
先從opencv官網下載對應的版本的安卓的opencv的sdk 解壓出來路徑不要有中文
然後在Android Studio裡建立一個安卓專案,在根目錄建立一個資料夾,命名為libraries
然後把sdk結業目錄下的 sdk\java資料夾複製到libraries資料夾內,重新命名為opencv
接著在該opencv目錄下建立一個build.gradle,內容為
apply plugin: 'com.android.library'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
}
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
minSdkVersion 21
targetSdkVersion 23
versionCode 2480
versionName "3.1.0"
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
aidl.srcDirs = ['src']
}
}
}
需要依照需求修改對應的sdk版本
然後在修改下專案的settings.gradle ,新增一行
include ':libraries:opencv'
要選擇Sync Now
然後右鍵專案名,選擇Open Module Settings,選擇app然後點Dependencies,再點選加號,選第三個,把opencv新增進去
新增好後如圖:
接著在/app/src/main/下建立一個資料夾叫jniLibs
把上圖目錄下的所有資料夾都複製到jniLibs中去。
到這就算是配置完全了。
接下來就是使用。
一定要先新增static{ System.loadLibrary(“opencv_java3”); }
我測試的程式碼:(介面有一個ImageView和一個Button)
package com.example.chengk.opencvexamples;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import org.opencv.android.Utils;
import org.opencv.core.Mat;
import org.opencv.imgproc.Imgproc;
public class MainActivity extends AppCompatActivity {
static{ System.loadLibrary("opencv_java3"); }
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView = (ImageView)findViewById(R.id.imageView);
final Bitmap bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.aa1)).getBitmap();
imageView.setImageBitmap(bitmap);
final Button button2 = (Button)findViewById(R.id.button);
button2.setText("轉換");
button2.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
i++;
Mat rgbMat = new Mat();
Mat grayMat = new Mat();
//獲取lena彩色影象所對應的畫素資料
Utils.bitmapToMat(bitmap, rgbMat);
//將彩色影象資料轉換為灰度影象資料並存儲到grayMat中
Imgproc.cvtColor(rgbMat, grayMat, Imgproc.COLOR_RGB2GRAY);
//建立一個灰度影象
Bitmap grayBmp = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.RGB_565);
//將矩陣grayMat轉換為灰度影象
Utils.matToBitmap(grayMat, grayBmp);
ImageView imageView = (ImageView)findViewById(R.id.imageView);
if(i%2==1)
imageView.setImageBitmap(grayBmp);
else
imageView.setImageBitmap(bitmap);
}
});
}
}
執行效果圖:
點選按鈕前
點選按鈕後
這麼做確實是可行的,但空間佔用太大,我這個程式佔用空間將近50M,還在尋找其他更好的辦法,找到了繼續更新。
相關推薦
Android Studio內配置和使用OpenCV3.x(不依靠Manager)
我所使用的opencv版本為3.1,Android Studio版本為2.0 先從opencv官網下載對應的版本的安卓的opencv的sdk 解壓出來路徑不要有中文 然後在Android Studio裡建立一個安卓專案,在根目錄建立一個資料夾,命名為libr
新增靜態路由使主機可以同時訪問內網和外網(不同網段)
現在我們有兩張網絡卡,一張有線網絡卡,一張無線網絡卡,閘道器分別為: 有線網絡卡為192.168.1.254 無線網絡卡為192.168.3.1 我們可以新增兩條靜態路由來同時訪問兩個網段: route -p add 0.0.0.0 mask 0.0.0.0 192.168.3
Android Studio 接入 訊飛 語音合成(文字轉語音)
1.下載相應的SDK(參考我上一篇文章:https://mp.csdn.net/postedit/83743563) 2.佈置資源 . 3.新增許可權 :在Application的根目錄下,為了可以訪問手機的一些功能 <!--連線網路許可權,用於執行雲端語音能力 -->
RabbitMQ 安裝、配置和使用者管理(CentOS、SUSE)
安裝步驟(rpm包安裝): 下載rpm並安裝: CentOs: wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm rpm --
Android Studio如何更改SDK的版本(針對非gradle)
最近事情太多了,也有一小段時間沒更新了,本來原來還有個寫哪些的計劃的,也打亂了,我就想到什麼寫什麼吧。 最近很多人在問Android Studio如何更改SDK版本,這邊說的事不使用gradle來編譯的情況下。什麼時候會出現這個場景呢,比如你直接從server check工
Android studio 點選按鈕開啟介面 (跳轉介面)
1,建立layout(activity_test.xml)在src/main/res/layout滑鼠右鍵new->LayoutResource File然後輸入一個file name,比如:activity_test點ok鍵完成建立2,建立activity(TestA
Android 仿微信錄製短視訊(不使用 FFmpeg)
轉載請標明出處與作者:https://www.jianshu.com/p/2cb7b0110fde 專案中原本就有錄製短視訊的功能,使用的是 # qdrzwd/VideoRecorder 這個專案,但是該專案不支援 targetSdkVersion 22以上的版本,而現在各大
webService總結(一)——使用CXF釋出和呼叫webService(不使用Spring)
CXF和Axis2是兩個比較流行的webService框架,接下來我會寫幾篇部落格簡單介紹如何使用這兩種框架。首先,先簡單介紹一下CXF的使用。 CXF釋出webService有多種方法,這裡我介
安卓學習筆記 -- (安裝環境) Android Studio安裝配置、環境搭建詳細步驟及基本使用 Android Studio和SDK官方開發工具下載 Android Studio教程從入門到精通 Android開發-之第一個程式:HelloWorld!
1、下載Android Studio安裝配置、環境搭建詳細步驟及基本使用 https://www.cnblogs.com/yanglh6-jyx/p/Android_AS_Configuration.html https://blog.csdn.net/k491022087/ar
Android Studio 一個完整的APP例項(附原始碼和資料庫)
前言: 這是我獨立做的第一個APP,是一個記賬本APP。 This is the first APP, I've ever done on my own. It's a accountbook APP. 原始碼: https://github.com/AnneHan/accoun
Android Studio靈活配置debug和release模式下的APPKEY
我們一般要在AndroidManifest.xml檔案中定義三方平臺的appkey,appid等屬性值,類似下面的程式碼 <meta-data android:name="UMENG_APPKEY" android:value="
Android Studio(3)---Android Studio的配置
Android Studio配置 Android Studio 提供諸多向導和模板,可用於驗證系統要求(例如 Java 開發工具包 (JDK) 和可用記憶體)和配置預設設定(例如優化的預設 Android Virtual Device (AVD) 模擬和更新的系統映像)。本
Android---安裝 Android第一天——安裝Android Studio 3.0和第一個Hello World程式(一)
原 Android第一天——安裝Android Studio 3.0和第一個Hello World程式(一) 2018年03月09日 11:26:38 閱讀數:9423
Android ——安裝Android Studio 3.0和第一個Hello World程式(一)
Android第一天——安裝Android Studio 3.0和第一個Hello World程式(一) 轉自:https://blog.csdn.net/tangjie134/article/details/79495204 1.Android Studio 3.0和SDK獲
Android Studio SVN配置忽略檔案 (三)
Android Studio SVN配置忽略檔案 1.用Android Studio建立一個專案,會在根目錄和Module目錄下自動生成.gitignore檔案,貌似是Git的配置檔案,和SVN沒有關係。 2.開啟Setting-Version Control-Ign
Android Studio安裝配置詳細步驟(圖文)
下載 到 https://developer.android.com/sdk/index.html (需翻牆)或者通過其他途徑下載安裝包。我下載的是android-studio-bundle-145.3537739-windows.exe 為完整安裝包,其中包
JetBrains公司系列IDE開發工具通用初始配置推薦(Android Studio、InterlliJ、PHPStorm、CLion、Webstorm等)
JetBrains是捷克一家公司,Interllij IDEA、PHPStorm、CLion、Webstorm等神級IDE(整合開發環境)就出自其手。AndroidStudio就改自InterlliJ。可以說,該系列IDE核心是全世界最耍帥的IDE,沒有之一,二
自定義android studio的配置檔案目錄後,無法正常安裝和解除安裝外掛的解決辦法。
Android Studio 的快取檔案預設安裝的在C:\Users\YourName\ .xxx 快取一些資料,有限的C盤空間很容易捉禁見肘。所以就需要修改配置檔案了,修改配置檔案的方法百度一下數量數不勝數,我這裡就不寫了。修改路徑後有一個奇葩問題:無法正常安裝和解除安裝外
Android Studio中配置及使用OpenCV示例(一)
Android Studio配置及使用OpenCV前言:最近在做專案移植,專案較大,在Eclipse中配置的Jni及OpenCV環境沒任何問題,但是遷移到Studio中就問題一大堆,網上也找了一些資料參考及學習,很感謝前人留下的總結及經驗。關於在AS中使用jni及配置Open
Android Studio中Git和GitHub使用詳解(上篇)
一、Git和GitHub簡述 1.Git 分散式版本控制系統,最先使用於Linux社群,是一個開源免費的版本控制系統,功能類似於SVN和CVS。Git與其他版本管理工具最大的區別點和優點就是分散式; git是採用分散式版本庫機制,不需要每次都將檔案推送到版本控制伺服