原创 JNI/NDK開發 配置CMakelist文件加載第三方 so

我們知道我們正常加載so文件都是通過  static { System.loadLibrary("native-lib"); } 這是我們純加載so來做項目,項目沒有配置CMakelist文件,如果配置了CM

原创 OpenCv銀行卡/身份證號識別(3) 銀行卡/身份證圖像處理和卡號區域剪切

通過前兩篇我們已經對Opencv有所瞭解了,接下來就要真正的來處理我們的圖像,然後把卡號給提取出來。首先我們先簡單分析以下銀行卡然後把處理流程列出來:  由上圖我們很容易知道既然我們要找到卡號,銀行卡的外邊輪廓,然後根據比例找到卡號的

原创 OpenCv銀行卡/身份證號識別(4) 基於openCv SVM的機械學習模型訓練識別

上一篇我們把銀行卡號給分割提取出來,爲我們本篇機械模型訓練提供了素材,因爲我們最終是要把分割出的字符圖片給識別出他是具體的數字幾,而不能就僅僅把截取到的圖片展示出來,圖片他僅僅還是圖片,所以我們要知道具體的圖片對應的數字,所以就用到了,

原创 OpenCv銀行卡/身份證號識別(2) Bitmap和Mat相互轉化

我們都知道在我們android程序中一個圖片的表達是使用的Bitamp來存儲的,而在Opencv中圖片的存儲是Mat矩陣的形式。所以如果我們想把我們android的圖片傳給opencv,就要先把bitmap轉成Mat類型,所以我們先來了解

原创 OpenCv銀行卡/身份證號識別(1) OpenCv NDK項目集成

最近一直在學習ndk開發相關的知識點,其實也是一路迷茫不知道從哪裏下手,其實想做ndk相關的開發還是要有一定的c和c++的基礎,特別是對指針,結構體,c++的類,函數指針,命名空間,&引用等等,防止在開發的過程中出現問題而不知到具體原因。

原创 JNI/NDK 開發必備知識點

1.引入動態褲 // path 路徑:加載一個具體路徑下的so庫,可以是從服務器下載下來的(必須要下載到data/data/目錄下面)。 System.load(path); //path 加載本地 lib下面的so庫。 System.

原创 JNI/NDK開發 C 調用java方法

android NDK 開發方式有很多種,隨着android studio的崛起谷歌官方的開發方式是 cmake 形式的開發,在eclpse時代大多數使用的是android.mk等方式。今天主要使用cmake方式學習整個流程。 1.創建c

原创 Android 語言切換時發生了什麼,源碼是怎麼調用的,對我們app有何影響,我們該怎麼做去避免發生異常

在做應用的時候經常會碰到多語言的適配,在我們切換語言時候,我們的app到底發生了什麼呢?以及切換語言經常出現的錯誤問題,比如空指針,fragment的問題等等。對於怎麼適配多語言今天不是重點,重點是語言切換後我們的app去做了什麼讓她的語

原创 Binder IPC跨進程通訊學習記錄

IPC跨進程通訊的方式有 socket/管道/廣播/binder,在android 中用的最廣泛的就是binder幾乎底層通訊都是使用binder來處理的例如:ActivityThread 和 IApplication等等,少數使用了so

原创 過定點平滑連接多條貝塞爾曲線

介紹 讓指定的座標點使用平滑的曲線鏈接起來,這個問題之前看過很多文章,去年都已經做了這樣的需求,只是一直沒時間記錄,過了這麼就也忘了差不多,及時把它記下來,如圖: 由圖藍色點是給的座標點,然後我們根據給的座標點把,她們平滑的鏈接起來。這

原创 Android for OpenCV 調用 CameraAPI 1 實現人臉檢測

對於人臉檢測,我們第一想到的肯定是利用相機功能,但是android我們都很瞭解,android從5.0之後 camera 有兩套API分別是 CameraAPI 1 和 CameraAPI 2,希望大家還是先去熟悉以下Camera 1/2

原创 Android for OpenCV 線性濾波器 - 模糊,自適應閥值等

通過第一篇Android for OpenCV 環境我們已經配置完成,由於我們集成的是OpenCV的library,所以我們只需要處理opencv封裝好的java函數就行,本人學習主要是通過 《深入OpenCV android開發》一書爲

原创 Android 接入 OpenCV4.1.0 sdk流程

    OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、

原创 Android SQLite 數據庫不丟失數據自動升級流程

       正常我們在開發中經常會遇到sqlite數據庫升級的問題,比如增加字段/刪除字段/表結構重構等等,隨着apk版本的升高,不同版本可能需要對數據庫進行修改,但是要求是數據庫升級不能影響用戶的已存數據,所以今天就來看看數據庫升級流

原创 高德地圖 一 SHA 1 值的獲取和sdk的集成

一直沒有接觸過地圖的開發 需求 最近沒什麼項目 就自己研究研究 以防以後 用到。這次就把自己的學習過程給 全部記錄下來,包括過程中遇到的 錯誤問題,也有記錄。首先從第一步開始,到高德開放平臺,註冊並且申請自己的 key,在申請key的過程