国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 通過jni返回Mat數據類型方法

2019-10-21 21:42:49
字體:
來源:轉載
供稿:網友

Android 開發過程中為了實現代碼的高效性,通常要調用本地c++代碼,JNI是java語言提供的和c/c++相互溝通的機制,在使用opencv做圖像處理時,通常要調用c/c++代碼進行相關操作,將處理后的結果返回java進行顯示或者其他操作。

可以在java部分創建一個Mat,用于保存圖像處理結果圖像,獲取Mat 的本地地址傳入jni函數中:

// javaMat res = new Mat();jni_fun(res.getNativeObjAddr());

c++部分新建Mat指針指向java傳入的內存區域,將處理后的結果圖像的Mat數據復制到這塊內存區域,這樣java中的創建的Mat就變為結果圖像:

//jni c++void jni_fun(jlong Mataddr){   Mat* res = (Mat*)MatAddr;   Mat image = ImgProcess();   res->create(image.rows,image.cols,image.type());   memcpy(res->data,image.data,image.rows*image.step);

如果需要將java中的圖像傳入c++進行處理,然后返回結果,道理一樣:

//java Mat res = new Mat();jni_fun(srcMat.getNativeObjAddr(),res.getNativeObjAddr()); //c++void jni_fun(jlong srcMat,jlong resMat){    Mat* src = (Mat*)srcMat;    Mat* res = (Mat*)srcMat;    Mat image = ImgProcess(*src);    ...    ...}

以上這篇Android 通過jni返回Mat數據類型方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涞水县| 光山县| 巴彦淖尔市| 桃园县| 修武县| 城口县| 乌恰县| 新闻| 东城区| 保山市| 仙居县| 林甸县| 雅安市| 西平县| 从化市| 赣州市| 且末县| 甘孜| 乐陵市| 东源县| 新竹县| 巴里| 陆丰市| 建宁县| 郓城县| 丹棱县| 横山县| 泸西县| 宜兰市| 通道| 平和县| 大埔区| 沁水县| 武隆县| 南陵县| 攀枝花市| 博白县| 蕲春县| 彭泽县| 勐海县| 诸城市|