• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ARM 和QT 聯(lián)合OpenCV 的快速圖像處理應(yīng)用

      2023-10-18 12:43:40黃鵬飛
      科學(xué)技術(shù)創(chuàng)新 2023年24期
      關(guān)鍵詞:開發(fā)板觸摸屏圖像處理

      楊 睿,黃鵬飛

      (西京學(xué)院機(jī)械工程學(xué)院,陜西西安)

      引言

      隨著科技的發(fā)展和嵌入式設(shè)備的廣泛應(yīng)用,圖像處理在嵌入式系統(tǒng)中扮演著越來越重要的角色。在這些嵌入式系統(tǒng)中,高速、高效的圖像處理能力對于實(shí)時應(yīng)用和用戶體驗(yàn)至關(guān)重要。ARM 架構(gòu)作為一種低功耗、高性能且可定制的處理器架構(gòu),以其在嵌入式領(lǐng)域的廣泛應(yīng)用而聞名。OpenCV 作為一個強(qiáng)大的開源計算機(jī)視覺庫,提供了豐富的圖像處理函數(shù)和算法,廣泛用于計算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域。通過結(jié)合ARM和OpenCV,我們可以實(shí)現(xiàn)快速且高效的圖像處理應(yīng)用。ARM的并行計算能力和OpenCV 庫的優(yōu)化功能相互補(bǔ)充,為嵌入式設(shè)備提供了強(qiáng)大的圖像處理能力。此外,QT 作為一個流行的圖形用戶界面開發(fā)框架,為我們提供了方便而強(qiáng)大的界面設(shè)計工具,使得用戶能夠直觀地操作和觀察圖像處理效果。本文將重點(diǎn)探討基于ARM 和QT 聯(lián)合OpenCV 的快速圖像處理。我們將研究如何利用ARM處理器的優(yōu)勢,結(jié)合OpenCV 提供的圖像處理算法和函數(shù),實(shí)現(xiàn)快速而準(zhǔn)確的圖像分析、特征提取和圖像增強(qiáng)等功能。我們還將介紹如何利用QT 開發(fā)界面,實(shí)現(xiàn)用戶友好的圖像處理應(yīng)用程序,使用戶能夠方便地調(diào)整參數(shù)、實(shí)時顯示處理結(jié)果,并將這些功能應(yīng)用于實(shí)際的圖像處理應(yīng)用中。通過本文的研究和實(shí)踐,我們期望能夠進(jìn)一步提高嵌入式系統(tǒng)中圖像處理的效率和性能,為用戶提供更好的圖像處理體驗(yàn)。同時,探索出更多基于ARM和OpenCV 的創(chuàng)新應(yīng)用,拓寬圖像處理在嵌入式系統(tǒng)中的應(yīng)用領(lǐng)域。

      1 系統(tǒng)概述

      本系統(tǒng)的主要硬件為搭載Linux 系統(tǒng)的ARM 開發(fā)板和高清觸摸屏,上位機(jī)開發(fā)使用QtCreate,使用OpenCV作為圖像處理庫。開發(fā)平臺為ubuntu18.04,由于硬件是ARM架構(gòu),默認(rèn)為X86 的編譯器,因此在實(shí)際開發(fā)過程需要交叉編譯,首先需要安裝交叉編譯工具鏈以便后續(xù)的開發(fā)工作[1],本項(xiàng)目采用的版本為:gcclinaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf。

      系統(tǒng)搭建架構(gòu)如圖1 所示。

      圖1 系統(tǒng)架構(gòu)

      屏幕系統(tǒng):為確保高清觸摸屏的正常使用,需要交叉編譯Tslib(Tslib 是一個用于嵌入式Linux 系統(tǒng)上的觸摸屏輸入設(shè)備驅(qū)動庫。它提供了一系列的API 函數(shù),用于處理觸摸屏輸入事件,包括觸摸點(diǎn)的坐標(biāo)、壓力等信息),Tslib 的主要代碼和系統(tǒng)框架如表1 和圖2 所示。

      表1 Tslib 主要代碼

      圖2 Tslib 框架

      Tslib 框架圖解(圖2 左):上面的模塊遞歸調(diào)用下面的模塊獲得數(shù)據(jù),并處理數(shù)據(jù),ts_read 使用模塊中的read 函數(shù);ts_read_mt 使用模塊中的read_mt 函數(shù)。

      1.優(yōu)先打開環(huán)境變量TSLIB_TSDEVICE 指定的設(shè)備。

      2.如果沒有這個環(huán)境變量,嘗試打開:

      3.如果失敗掃描"/dev/input"下的設(shè)備節(jié)點(diǎn)。

      4.成功后得到一個tsdev 的結(jié)構(gòu)體。

      Tslib 框架圖解(圖2 右):

      1.優(yōu)先打開環(huán)境變量TSLIB_TSDEVICE 指定的配置文件。

      2.如果沒有這個環(huán)境變量,嘗試打開:/etc/ts.conf。

      3.根據(jù)配置文件讀入各類"module"

      4./etc/ts.config 示例:

      5.成功后,tsdev 結(jié)構(gòu)體list 鏈表執(zhí)行各個module。

      根據(jù)以上代碼和框架對Tslib 進(jìn)行交叉編譯和觸摸屏測試,掛載NFS(Network File System 是一種在網(wǎng)絡(luò)上共享文件系統(tǒng)的協(xié)議。它允許一臺計算機(jī)通過網(wǎng)絡(luò)訪問其他計算機(jī)上的文件,就像訪問本地文件一樣),把交叉編譯生成的lib,bin,etc 文件通過網(wǎng)絡(luò)文件系統(tǒng)分別拷貝到ARM開發(fā)板的lib/,bin/,etc/目錄下,然后在單板上執(zhí)行測試程序ts_test_mt。

      2 項(xiàng)目準(zhǔn)備

      2.1 搭建OpenCV 3.4.1 的編譯環(huán)境

      進(jìn)入新建立的build 目錄(cd build)里執(zhí)行指令cmake-gui,開始配置OpenCV 的環(huán)境。進(jìn)入圖形化工具cmake-gui[2]:

      1.指定源碼的所在路徑和構(gòu)建目錄,修改成個人的路徑;

      2.指定交叉編譯器的路徑;

      3.指定安裝路徑;

      如圖3 所示。

      圖3 圖形化工具cmake-gui

      完成配置后make 編譯源碼,make install 安裝在所創(chuàng)建的install 目錄,至此完成OpenCV 的編譯。將當(dāng)前目錄下的lib 文件夾下的內(nèi)容拷貝到文件系統(tǒng)/usr/lib 下即可。

      2.2 QT 上位機(jī)界面定制

      界面以QT 提供的mainwindow 為框架,C++語言進(jìn)行編輯以及進(jìn)行OpenCV庫函數(shù)的調(diào)用[3],主要實(shí)現(xiàn)圖像處理功能按鈕名稱,以各功能函數(shù)名如表2 所示。

      表2 按鈕名稱以及函數(shù)名

      完成的mainwindow界面如圖4 所示。

      圖4 完成的mainwindow 界面

      2.3 在Qt 項(xiàng)目中加入OpenCV

      打開Qt 項(xiàng)目的pro 文件,在里面添加如下內(nèi)容。

      修改.pro 文件如圖5 所示。

      圖5 修改.pro 文件

      3 項(xiàng)目實(shí)現(xiàn)

      拷貝install/lib 文件夾下的OpenCV相關(guān)庫拷貝到開發(fā)板的/lib 目錄下[4]。在串口終端里直接執(zhí)行QOpenCV Qt 應(yīng)用程序(./QOpenCV)。可觀察到顯示屏上已經(jīng)出現(xiàn)QT 程序的示例。以跑車圖片為例,點(diǎn)擊邊緣檢測,可以看到案例圖片已經(jīng)被線條勾勒了。此外還有灰度化、閾值化、腐蝕、模糊、銳化等。如圖6 所示,圖片處理速度迅速,功能使用方便,可定制性強(qiáng)。

      圖6 圖片處理結(jié)果

      結(jié)束語

      此例程通過將OpenCV 和QT 移植到ARM架構(gòu)的開發(fā)板,在設(shè)備上進(jìn)行無依賴遠(yuǎn)程服務(wù)器或云端計算的情況下進(jìn)行實(shí)時的圖像處理任務(wù)。這在許多場景下都具有重要意義。ARM架構(gòu)的高性能和低功耗特性使得在開發(fā)板上運(yùn)行OpenCV 的圖像處理算法更加高效和節(jié)能。這意味著可以更加容易實(shí)現(xiàn)圖像分析、物體檢測、特征提取和圖像識別等應(yīng)用,并且利用其可移植性和方便定制的特性,可以為用戶帶來更好的體驗(yàn)和功能。然而,移植OpenCV 到ARM開發(fā)板也會帶來諸多問題,包括適配和編譯的復(fù)雜性、資源限制和性能優(yōu)化等。在進(jìn)行移植過程中,需要仔細(xì)配置編譯環(huán)境、處理依賴項(xiàng)和測試功能,以確保OpenCV 在ARM架構(gòu)上正常運(yùn)行[5]。隨著ARM架構(gòu)和OpenCV 的不斷發(fā)展嵌入式系統(tǒng)和計算機(jī)視覺技術(shù)的不斷進(jìn)步,智能化的應(yīng)用和設(shè)備將會不斷為用戶帶來更多便捷的體驗(yàn)。

      猜你喜歡
      開發(fā)板觸摸屏圖像處理
      PLC和觸摸屏在衛(wèi)生間控制系統(tǒng)的應(yīng)用
      機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
      電子制作(2018年18期)2018-11-14 01:48:20
      皮膚“長”出觸摸屏
      模糊圖像處理,刑事偵查利器
      圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機(jī)開發(fā)板的設(shè)計與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
      Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
      投射式多點(diǎn)觸控電容觸摸屏
      河南科技(2014年12期)2014-02-27 14:10:32
      兴仁县| 乐昌市| 平泉县| 明水县| 瑞昌市| 湛江市| 丰都县| 八宿县| 阿克陶县| 来宾市| 黄平县| 浪卡子县| 宜兰县| 客服| 礼泉县| 会理县| 古蔺县| 伊川县| 嘉定区| 榆社县| 财经| 华亭县| 马龙县| 大悟县| 广丰县| 桦甸市| 于田县| 思茅市| 汝南县| 鸡东县| 临夏县| 德化县| 宣武区| 佛山市| 桓仁| 乐清市| 满洲里市| 兴义市| 贵阳市| 山阴县| 武汉市|