android opencv導入進行編譯

1、直接新建module進行導入,選擇opencv的sdk

導入module模式,選擇下載好的sdk,修改module name為OpenCV490。

有報錯直接解決報錯,沒報錯直接運行成功。

2、解決錯誤,同步成功

一般報錯是gradle版本問題較多。我的報錯如下:

Build file 'D:\work\OpenCVJni\OpenCV480\build.gradle' line: 92A problem occurred evaluating project ':OpenCV480'.> Plugin with id 'kotlin-android' not found.

注釋掉

//apply?plugin:?'kotlin-android'

重新同步成功。

那就直接build,運行沒再報錯,就可以直接引用項目進行測試。

3、測試代碼
public class MainActivity extends AppCompatActivity {private Bitmap srcBitmap = null;private Bitmap   dstBitmap = null;private ImageView imageView = null;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// opencv初始化if (!OpenCVLoader.initDebug()) {// Handle initialization errorreturn;}imageView = findViewById(R.id.imageView);srcBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.image); // 替換為你的圖片資源findViewById(R.id.load).setOnClickListener(v -> {imageView.setImageBitmap(srcBitmap);});findViewById(R.id.equalize).setOnClickListener(v -> {// 加載成功后,進行直方圖均衡化操作dstBitmap = equalizeHistogram(srcBitmap);imageView.setImageBitmap(dstBitmap);});}private Bitmap equalizeHistogram(Bitmap srcBitmap) {Mat srcMat = new Mat();Mat dstMat = new Mat();Utils.bitmapToMat(srcBitmap, srcMat);// 將圖片轉換為灰度圖Imgproc.cvtColor(srcMat, srcMat, Imgproc.COLOR_BGR2GRAY);// 將源圖像的通道轉換為單通道List<Mat> channels = new ArrayList<>();Core.split(srcMat, channels);// 對每個通道進行直方圖均衡化Imgproc.equalizeHist(channels.get(0), channels.get(0));// 合并通道Core.merge(channels, dstMat);// 將處理后的圖像轉換回RGB格式Imgproc.cvtColor(dstMat, dstMat, Imgproc.COLOR_GRAY2BGR);Bitmap equalizedBitmap = Bitmap.createBitmap(dstMat.cols(), dstMat.rows(), Bitmap.Config.ARGB_8888);Utils.matToBitmap(dstMat, equalizedBitmap);// 釋放資源srcMat.release();dstMat.release();return equalizedBitmap;}
}

xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/colorWhite"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="80dp"android:orientation="horizontal"><Buttonandroid:id="@+id/load"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="15dp"android:background="@color/colorPrimaryDark"android:text="加載"android:textColor="@color/colorWhite" /><Buttonandroid:id="@+id/equalize"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="15dp"android:background="@color/colorPrimaryDark"android:text="直方圖均衡"android:textColor="@color/colorWhite" /></LinearLayout><FrameLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/colorWhite"><ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:src="@mipmap/image" /></FrameLayout></androidx.appcompat.widget.LinearLayoutCompat>

代碼截圖

4、運行結果

如果需要編譯任意一個opencv版本搞不定的話,可以找我尋求幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63540.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63540.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63540.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通過阿里云 Milvus 與 PAI 搭建高效的檢索增強對話系統

背景介紹 阿里云向量檢索服務Milvus版&#xff08;簡稱阿里云Milvus&#xff09;是一款云上全托管服務&#xff0c;確保了了與開源Milvus的100%兼容性&#xff0c;并支持無縫遷移。在開源版本的基礎上增強了可擴展性&#xff0c;能提供大規模 AI 向量數據的相似性檢索服務。相…

【批量生成WORD和PDF文件】根據表格內容和模板文件批量創建word文件,一次性生成多個word文檔和批量創建PDF文件

如何按照Word模板和表格的數據快速制作5000個word文檔 &#xff1f; 在與客戶的合作的中需要創建大量的合同&#xff0c;這些合同的模板大概都是一致的&#xff0c;是不是每次我們都需要填充不一樣的數據來完成&#xff1f; 今天用表格數據完成合同模板的填充&#xff0c;批量…

pip使用方法

1. 安裝包&#xff1a; pip install &#xff1a;安裝指定的 Python 包。 pip install &#xff1a;安裝特定版本的 Python 包。 pip install -r requirements.txt&#xff1a;從文件中讀取依賴列表并安裝所有列出的包。 pip install --pre &#xff1a;允許安裝預發布或開發版…

Windows11 安裝 Ubuntu-20.04,同時安裝配置 zsh shell,配置 git 別名(alias),大大提高開發效率

背景&#xff1a;家里配置了一臺 Windows 電腦&#xff0c;有時候需要用到 vscode 開發測試一些代碼&#xff0c;在使用過程中發現原生 windows 敲代碼不是很友好&#xff0c;于是想到配置 wsl&#xff0c;安裝 Ubuntu&#xff0c;并安裝配置 zsh shell&#xff0c;同時配置 gi…

什么是漸進式 Web 應用,有哪些特點

漸進式 Web 應用 (Progressive Web Apps, PWAs) 的定義與特點 一、定義 漸進式 Web 應用&#xff08;Progressive Web App&#xff0c;簡稱 PWA&#xff09;是一種結合了傳統 Web 技術和現代移動應用特性的新型應用程序形式。PWAs 可以像普通網站一樣通過瀏覽器訪問&#xff…

鴻蒙心路旅程:HarmonyOS NEXT 心路旅程:技術、成長與未來

HarmonyOS NEXT 心路旅程&#xff1a;技術、成長與未來 技術的浪潮中&#xff0c;總有一些瞬間讓人感到心潮澎湃。作為一名HarmonyOS NEXT開發者&#xff0c;我有幸成為這個時代科技創新的一部分。從最初的接觸到深入學習、開發&#xff0c;以及如今規劃未來的職業方向&#x…

勤研低代碼平臺:重塑軟件開發協作新生態

在當今數字化浪潮洶涌澎湃的時代&#xff0c;軟件開發的效率與質量成為企業競爭的關鍵因素之一。勤研低代碼開發平臺以創新性的實際頁面 - 功能設計 - 頁面設計 - 原型頁面切換功能&#xff0c;脫穎而出&#xff0c;為軟件開發過程中的團隊協作、客戶溝通以及項目推進帶來了前所…

ChatGPT等大語言模型與水文水資源、水環境領域的深度融合

聚焦GPT等大語言模型與水文水資源領域的深度融合&#xff0c;通過系統化內容與實踐案例&#xff0c;講解如何高效完成時間序列分析、空間數據處理、水文模型優化以及智能科學寫作等任務。同時&#xff0c;展示AI在高級機器學習模型開發、資源優化算法編程與模型微調中的最新應用…

node安裝,npm安裝,vue-cli安裝以及element-ui配置項目

node.js Node.js主要用于開發高性能、高并發的網絡服務器&#xff0c;特別適合構建HTTP服務器、實時交互應用&#xff08;如聊天室&#xff09;和RESTful API服務器等。?它使用JavaScript語言&#xff0c;基于Chrome V8引擎&#xff0c;提供模塊化開發和豐富的npm生態系統&…

easyplayer-pro播放器學習

背調 查詢官方文檔&#xff0c;EasyPlayer-pro支持ws-flv, http-flv, hls, webrtc&#xff08;webrtc://xxx&#xff09;格式&#xff0c;電子放大、水印(動態水印、幽靈水印)、顯示上一個視頻最后一幀、播放器快照截圖、視頻錄制(WebM格式(音頻視頻)、MP4格式(視頻),FLV格式(…

5G 模組 初始化狀態檢測

5G 模組 上電檢測 5G 模組 上電檢測 #終端上電后&#xff0c;待模組正常啟動&#xff0c;再進入 控制臺。 #vim /etc/profile##新增 until [ -c /dev/ttyUSB1 ] doecho -e "Wait module[5G] up ... "sleep 5 done ##新增The End.

WPF+MVVM案例實戰與特效(四十三)- 打造動態炫酷彩虹字控件,讓你的界面動起來

文章目錄 1、引言1、案例效果2、案例實現1、XAML 布局2、邏輯代碼3、動畫效果4、控件使用5、運行效果3、案例源代碼4、總結1、引言 上一節,我們實現了炫酷的彩虹字控件,現在我們想讓彩虹字更加生動吸引人,讓每個字體跳動起來,讓字體活過來。這里我們通過動畫實現,我們把這…

線程知識總結(一)

1、概述 1.1 進程與線程 進程是程序運行時&#xff0c;操作系統進行資源分配的最小單位&#xff0c;包括 CPU、內存空間、磁盤 IO 等。從另一個角度講&#xff0c;進程是程序在設備&#xff08;計算機、手機等&#xff09;上的一次執行活動&#xff0c;或者說是正在運行中的程…

深入QML語法

文章目錄 深入了解 QML 文檔的結構和語法什么是 QML 文檔&#xff1f;導入語句導入語句的格式示例 對象聲明基本語法示例更復雜的對象聲明 QML 對象類型詳解1. Rectangle&#xff08;矩形&#xff09;2. Gradient&#xff08;漸變&#xff09;3. Text&#xff08;文本&#xff…

【Python】使用Selenium 操作瀏覽器 自動化測試 記錄

【自動化】Python SeleniumUtil 工具 開啟開發者模式 自動安裝油猴用戶腳本等-CSDN博客文章瀏覽閱讀389次。【自動化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565691?spm1001.2014.3001.5501【學習記錄】瀏覽器指紋相關學習記錄&am…

Linux應用軟件編程-文件操作(標準io)

在Linux下一切皆文件&#xff0c;比如&#xff1a;.txt&#xff0c;.c&#xff0c;.h&#xff0c;.jpg&#xff0c;目錄&#xff0c;鍵盤&#xff0c;鼠標&#xff0c;顯示器、硬盤等等都是文件&#xff0c;即IO。文件操作的統一思想&#xff1a;打開文件&#xff0c;讀、寫文件…

【Rust自學】4.4. 引用與借用

4.4.0 寫在正文之前 這一節的內容其實就相當于C的智能指針移動語義在編譯器層面做了一些約束。Rust中引用的寫法通過編譯器的約束寫成了C中最理想、最規范的指針寫法。所以學過C的人對這一章肯定會非常熟悉。 喜歡的話別忘了點贊、收藏加關注哦&#xff08;加關注即可閱讀全文…

深入解析 StarRocks 物化視圖:全方位的查詢改寫機制

小編導讀&#xff1a; 本文將重點介紹如何利用物化視圖進行查詢改寫。文章將全面介紹物化視圖的基本原理、關鍵特性、應用案例、使用場景、代碼細節以及主流大數據產品的物化視圖改寫能力對比。 物化視圖在 StarRocks 中扮演著至關重要的角色&#xff0c;它是進行數據建模和加速…

2. petalinux-build失敗

NOTE 解決因為網絡原因產生的編譯錯誤分享詳細的解決步驟 報錯的情況 因為網絡原因產生編譯錯誤 現象 找不到適合的包文件(No suitable stageing package found) 不能發現文件(Fetcher failure for URL) 解決方法 采用本地加載本地文件的方式&#xff0c;步驟如下 進入…

sql server msdb數據庫備份恢復

備份 BACKUP DATABASE [msdb] TO DISK ND:\liyuanshuai\test\sqlserver_bakfile\msdb20241219.bak WITH NOFORMAT, NOINIT, NAME Nlys-完整 數據庫 備份, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS 10 GO然后刪除2個測試的job&#xff0c;停止 SQL Server 代理…