在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

項(xiàng)目分享|基于ELF 1開發(fā)板的車牌識(shí)別系統(tǒng)

ElfBoard ? 2024-03-12 09:22 ? 次閱讀

該項(xiàng)目選用ElfBoard ELF 1開發(fā)板作為核心硬件平臺(tái),利用USB接口連接的攝像頭捕捉并識(shí)別車牌信息。一旦車牌成功識(shí)別,系統(tǒng)會(huì)觸發(fā)綠燈指示,并將識(shí)別所得的車牌號(hào)碼實(shí)時(shí)傳輸至手機(jī)APP。車牌識(shí)別技術(shù)方面,借助了百度提供的OCR(光學(xué)字符識(shí)別)服務(wù)來(lái)確保準(zhǔn)確高效地讀取車牌數(shù)據(jù)。同時(shí),手機(jī)APP則是采用Java編程語(yǔ)言進(jìn)行開發(fā),可以便捷地接收和查看識(shí)別結(jié)果。

一、車牌識(shí)別的實(shí)現(xiàn)方法

1、車牌識(shí)別平臺(tái)簡(jiǎn)介

本次車牌識(shí)別的實(shí)現(xiàn)方案是通過百度智能云平臺(tái)進(jìn)行實(shí)現(xiàn),具體實(shí)現(xiàn)方法如下:進(jìn)入百度智能云網(wǎng)頁(yè)- >選擇文字識(shí)別- > 車牌識(shí)別

wKgaomXq05eAEdOaAAHXdqQuotM133.png

進(jìn)入車牌識(shí)別頁(yè)面之后可通過閱讀技術(shù)文檔來(lái)學(xué)習(xí)車牌識(shí)別的使用方法。

2、安裝 OpenSSL

因?yàn)榘俣戎悄茉剖峭ㄟ^libcurl的https進(jìn)行訪問,而https的訪問需要openSSL的支持,所以先編譯OpenSSL。

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz tar xvf openssl-1.1.1a.tar.gz ./config make sudo make install

3、安裝curl

wget https://curl.se/download/curl-7.71.1.tar.bz2 tar -xjf curl-7.71.1.tar.bz2 cd curl-7.71.1/ ./configure --prefix=$PWD/_INSTALL_ARM --host=arm-linux-gnueabihf --with-openssl #./configure --prefix=$PWD/_INSTALL_GCC --with-openssl 為了在本地運(yùn)行用GCC編譯 make make install

4、車牌識(shí)別過程

(在做本次步驟之前請(qǐng)先去閱讀百度智能云車牌識(shí)別的使用方法)

在本地實(shí)現(xiàn)之前可通過平臺(tái)提供的在線驗(yàn)證方法進(jìn)行驗(yàn)證,如下圖,需要在旁邊輸入access_token(通過閱讀文檔可知怎么獲取)和一張車牌圖片的base64 編碼的字符串即可進(jìn)行在線識(shí)別。

wKgaomXvqR6AMdU8AAGpZGBiGrE315.png

本地實(shí)現(xiàn)車牌識(shí)別的方法需要將識(shí)別代碼拷貝到本地,并需要實(shí)現(xiàn)一個(gè)將圖片轉(zhuǎn)換為base64編碼的函數(shù),詳細(xì)代碼如下:

wKgaomXvw_WARedSAACXZ6vsz2k413.png

wKgaomXvxAqAdpDuAAC7hTBIjec090.pngwKgaomXvxBmAAUHTAADSwjSxRqg032.png

編譯

gcc demoCar.c -I ./curl-7.71.1/_INSTALL_GCC/include/ -L ./curl-7.71.1/_INSTALL_GCC/lib/ -l curl

編譯完成將文件通過scp拷貝到ELF 1開發(fā)板進(jìn)行運(yùn)行即可,這樣就可以將本地的車牌圖片通過HTTPS發(fā)送到百度智能云進(jìn)行識(shí)別,并將識(shí)別結(jié)果返回完成車牌識(shí)別。

注意:這里運(yùn)行時(shí)可能會(huì)出現(xiàn)CA證書驗(yàn)證失敗

root@ELF1:~# ./a.out OK:60

只需運(yùn)行 date --s="2024-01-12 21:40:00"將時(shí)間設(shè)置正確即可。


二、移植 mjpg-streamer

在前面一個(gè)章節(jié)實(shí)現(xiàn)了對(duì)本地車牌圖片的的識(shí)別,那如果需要通過攝像頭進(jìn)行車牌識(shí)別就需要借助 mjpg-streamer來(lái)實(shí)現(xiàn),采用USB攝像頭進(jìn)行識(shí)別。

關(guān)于什么是 mjpg-streamer 我這里就不在解釋,大家可以自行查閱資料進(jìn)行了解,這里只介紹一下 mjpg-streamer 移植到 ELF 1開發(fā)板的過程。

1、編譯 jpeg

(1)下載 jpeg 源碼壓縮包網(wǎng)址:http://www.ijg.org/files/

(2)tar -xvf jpegsrc.v8b.tar.gz

(3)編譯配置

cd jpeg-8d ./configure --prefix=$PWD/_INSTALL --host=arm-linux-gnueabihf make -j8 make install

2、編譯mjpg-streamer

(1)下載 mjpg-streamer 源碼包

網(wǎng)址:https://sourceforge.net/projects/mjpg-streamer/

svn checkout https://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code

(2)tar -xvfmjpg-streamer.tar.gz

(3)配置

cd mjpg-streamer-code/mjpg-streamer/plugins/input_uvc vim Makefile

打開 Makefile 文件按照下圖進(jìn)行修改:

wKgZomXvqxWAN57-AAFP8ADHbjI563.png

(4)編譯mjpg-streamer

因?yàn)閙jpg-streamer默認(rèn)是用GCC進(jìn)行編譯,所以要先將GCC改成自己的交叉編譯工具,先安裝需要用到的庫(kù)。

sudo apt install graphicsmagick-imagemagick-compat sudo apt install imagemagick-6.q16 sudo apt install imagemagick-6.q16hdri

更改GCC有兩種方法:

方法一:

cd ~/mjpg-streamer-code/mjpg-streamer make CC=arm-linux-gnueabihf-gcc

方法二:

find -name "Makefile" -exec sed -i "s/CC = gcc/CC = arm-linux-gnueabihf-gcc/g" {} \; grep "arm-linux-gnueabihf-gcc" * -nR

搜索當(dāng)前目錄及其子目錄下的所有Makefile文件,并將Makefile里的CC變量設(shè)置為arm-linux-gnueabihf-gcc。(注:arm-linux-gnueabihf-gcc 需要換成自己的交叉編譯工具。)

如下圖所示所有目錄下的Makefile中的CC都等于設(shè)置的交叉編譯工具。

wKgaomXvrAaAJElXAAEL4r9B0yE158.png

做完上面這些步驟之后編譯代碼:

make -j8

編譯完成后會(huì)生成下圖文件

wKgZomXvrD6AMYlvAAB2Q1vqByw098.png

.so :動(dòng)態(tài)庫(kù)

mjpg_streamer:提供可執(zhí)行命令

www:攝像頭輸出的網(wǎng)頁(yè)

(5)移植到ELF 1開發(fā)板

scp -r mjpg-streamer/ root@192.168.0.106:~

(6)驗(yàn)證功能

登錄ELF 1開發(fā)板,運(yùn)行mjpg_streamer

cd mjpg-streamer export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mjpg-streamer ./mjpg_streamer

wKgZomXvrIyAKAFYAABUWp49Y4I810.png

當(dāng)開發(fā)板運(yùn)行mjpg_streamer成功后,在瀏覽器中輸入開發(fā)板的IP地址和8080端口號(hào),比如我的是192.168.0.106:8080,點(diǎn)擊Stream選項(xiàng)就會(huì)出現(xiàn)攝像頭中的實(shí)時(shí)畫面,如下圖所示。

wKgaomXvrLSAK8EEAAZBa6DIIUI201.png

這樣就完成了mjpg_streamer 的移植,后續(xù)就可以mjpg_streamer實(shí)現(xiàn)一些具體的需求,比如打開攝像頭視頻

mjpg_streamer -i "input_uvc.so -d /dev/video2 -f 30 -q 90 -n" -o "output_http.so -w /opt/www"

截取攝像頭中的畫面:

wget http://192.168.0.106:8080/?action=snapshot -O ./1.jpg

在這里就可以和前面車牌識(shí)別結(jié)合起來(lái)了,比如攝像頭里面的畫面是一張車牌信息,通過截取攝像頭中的實(shí)時(shí)畫面到本地,然后上傳到百度智能云的后臺(tái)進(jìn)行識(shí)別,至此就完成通過攝像頭進(jìn)行車牌識(shí)別。


三、Android APP的實(shí)現(xiàn)

Android APP 的實(shí)現(xiàn)很簡(jiǎn)單,主要功能就是將識(shí)別成功的車牌號(hào)在APP上面顯示。具體的實(shí)現(xiàn)方法是當(dāng)ELF 1開發(fā)板成功識(shí)別車牌后,通過 Socket 將車牌發(fā)送到 Android APP 上面即可。由于這部分代碼比較簡(jiǎn)單,大致如下。

1、Android 端XML代碼實(shí)現(xiàn)

XML 這部分只實(shí)現(xiàn)了兩個(gè)功能,Button 用來(lái)顯示車牌號(hào)的提示,TextView用來(lái)顯示識(shí)別的車牌號(hào)。

2、 Android端Socket實(shí)現(xiàn)

private Handler handler; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState)

{ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.text); handler = new Handler(Looper.getMainLooper()) { @Override public void handleMessage(Message msg)

{ super.handleMessage(msg); Bundle bundle = msg.getData(); String receivedMessage = bundle.getString("msg");

textView.setText(receivedMessage); } }; }

new Thread(new Runnable()

{ @Override public void run() { try { Socket client = new Socket("192.168.0.104", 8374); InputStream inputStream = client.getInputStream();

while (true) { byte[] data = new byte[128]; int len = inputStream.read(data); if (len > 0) { String str = new String(data, 0, len); Message message = new Message(); Bundle bundle = new Bundle(); bundle.putString("msg", str); message.setData(bundle); } } } catch (IOException e) { e.printStackTrace(); } }).start();

上面這段代碼就實(shí)現(xiàn)了通過Socket接收來(lái)自開發(fā)板的車牌數(shù)據(jù)并將顯示到TextView。

3、ELF 1開發(fā)板端實(shí)現(xiàn)

開發(fā)板端主要就是將識(shí)別成功的車牌號(hào)碼通過Socket發(fā)送到Android APP上面,代碼如下:

int main(int argc, char *argv[]) { int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { std::cerr << "Error creating socket" << std::endl; return 1; } struct sockaddr_in serv_addr; serv_addr.sin_family = AF_INET;

serv_addr.sin_addr.s_addr = inet_addr("192.168.0.104"); serv_addr.sin_port = htons(8374); if (bind(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) return 1; if (listen(sockfd, 5) < 0) return 1;

struct sockaddr_in cli_addr;

socklen_t clilen = sizeof(cli_addr); int newsockfd = accept(sockfd, (struct sockaddr*)&cli_addr, &clilen);

if (newsockfd < 0) std::cerr << "Accept failed" << std::endl; const char* reply = match[1].str().c_str(); int bytes_sent = send(newsockfd, reply, strlen(reply), 0); if (bytes_sent < 0) std::cerr << "Error sending data" << std::endl; close(newsockfd); close(sockfd); return 0; }

Android APP部分就介紹結(jié)束,具體的運(yùn)行界面效果如下圖所示:

wKgZomXvrZCAOEGDAABjFpRrcLw909.png

四、總結(jié)

整個(gè)項(xiàng)目的識(shí)別過程如下圖所示,首先運(yùn)行程序,啟動(dòng)攝像頭運(yùn)行,然后會(huì)獲取攝像頭中的實(shí)時(shí)畫面進(jìn)行識(shí)別,識(shí)別成功就會(huì)將車牌的關(guān)鍵字檢索出來(lái)上傳到手機(jī)APP上面,這就是整個(gè)項(xiàng)目的關(guān)鍵運(yùn)行流程。

wKgZomXvrbGACGyMAADKQyANxr4324.png

上述全部?jī)?nèi)容由ElfBoard的共創(chuàng)官提供,所有分享內(nèi)容僅供學(xué)習(xí)交流使用,嚴(yán)禁任何商業(yè)用途。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5141

    文章

    19530

    瀏覽量

    314942
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5515

    瀏覽量

    102263
  • 識(shí)別系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    148

    瀏覽量

    19049
  • 嵌入式應(yīng)用
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    18676
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于LabVIEW的車牌識(shí)別系統(tǒng)

    又沒人做過基于LabVIEW的車牌識(shí)別系統(tǒng)或類似的?
    發(fā)表于 06-11 15:32

    【TL6748 DSP申請(qǐng)】基于DSP的車牌識(shí)別系統(tǒng)

    有機(jī)會(huì)玩TMS320F項(xiàng)目描述:用TMS320C6748搭載攝像頭實(shí)現(xiàn)車牌自動(dòng)識(shí)別系統(tǒng),基于模糊控制,圖像分割、模式識(shí)別等理論,通過對(duì)采集的數(shù)據(jù)進(jìn)行分析掃描,自動(dòng)補(bǔ)全不全或污損的
    發(fā)表于 09-09 16:59

    怎么用FPGA做車牌識(shí)別系統(tǒng)

    最近在做畢業(yè)設(shè)計(jì),要求用FPGA,原本打算做車牌識(shí)別系統(tǒng),但是太難了,大家有沒有好的想法。。
    發(fā)表于 11-25 23:23

    基于labview vision的機(jī)動(dòng)車車牌識(shí)別系統(tǒng)

    機(jī)動(dòng)車車牌識(shí)別系統(tǒng),內(nèi)附子VI打開密碼
    發(fā)表于 02-26 19:35

    【Rico Board申請(qǐng)】基于SoC的車牌識(shí)別系統(tǒng)

    最近導(dǎo)師在外面公司承接的一個(gè)車牌識(shí)別系統(tǒng)其實(shí)還是非常適合用SoC作為硬件平臺(tái)來(lái)完成這個(gè)項(xiàng)目;3.本人預(yù)期的設(shè)想是在SD卡上裝入一個(gè)ubuntu,在里面再植入opencv的開發(fā)環(huán)境,
    發(fā)表于 11-10 10:12

    【MediaTek X20開發(fā)板申請(qǐng)】小區(qū)車牌自動(dòng)識(shí)別系統(tǒng)

    項(xiàng)目名稱:小區(qū)車牌自動(dòng)識(shí)別系統(tǒng)試用計(jì)劃:MediaTek X20 開發(fā)板是一款誠(chéng)邁科技和聯(lián)發(fā)科技聯(lián)合發(fā)布的符合96board規(guī)范的開源硬件,具有非常強(qiáng)大的運(yùn)算能力和多媒體處理能力最新的
    發(fā)表于 12-29 17:05

    【HarmonyOS HiSpark AI Camera】車牌識(shí)別系統(tǒng)

    項(xiàng)目名稱:車牌識(shí)別系統(tǒng)試用計(jì)劃:申請(qǐng)理由本人在嵌入式開發(fā)行業(yè)從事了五年的開發(fā)經(jīng)驗(yàn),在智能家居,無(wú)線mesh網(wǎng)絡(luò)領(lǐng)域擁有豐富的經(jīng)驗(yàn)。并且自學(xué)A
    發(fā)表于 11-18 18:15

    怎么實(shí)現(xiàn)基于MATLAB的車牌識(shí)別系統(tǒng)的設(shè)計(jì)?

    一個(gè)完整的牌照識(shí)別系統(tǒng)包括哪些單元?怎么實(shí)現(xiàn)基于MATLAB的車牌識(shí)別系統(tǒng)的設(shè)計(jì)?
    發(fā)表于 05-12 07:04

    車牌識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    車牌照自動(dòng)識(shí)別系統(tǒng)是制約道路交通智能化的重要因素,包括車牌定位、字符分割和字符識(shí)別三個(gè)主要部分。本文首先確定車輛牌照在原始圖像中的水平位置和垂直位置,從而定
    發(fā)表于 02-21 10:59 ?51次下載

    基于MATLAB的車牌識(shí)別系統(tǒng)的研究

    基于MATLAB的車牌識(shí)別系統(tǒng)的研究 1 引言     車輛牌照是機(jī)動(dòng)車唯一的管理標(biāo)識(shí)符號(hào),在交通管理中具有不可替代的作用,因此車輛牌照識(shí)別系統(tǒng)
    發(fā)表于 12-10 10:29 ?3090次閱讀
    基于MATLAB的<b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別系統(tǒng)</b>的研究

    車牌識(shí)別技術(shù)的發(fā)展及意義_車牌識(shí)別系統(tǒng)原理介紹

    本文主要介紹了車牌識(shí)別系統(tǒng)原理、車牌識(shí)別技術(shù)的意義、車牌識(shí)別技術(shù)應(yīng)用表現(xiàn)和國(guó)內(nèi)
    發(fā)表于 01-02 15:12 ?1.7w次閱讀
    <b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別</b>技術(shù)的發(fā)展及意義_<b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別系統(tǒng)</b>原理介紹

    基于MATLAB的車牌識(shí)別系統(tǒng)

    基于MATLAB的車牌識(shí)別系統(tǒng)設(shè)計(jì)說(shuō)明。
    發(fā)表于 04-16 09:30 ?18次下載

    基于LABVIEW的車牌識(shí)別系統(tǒng)資料

    基于LABVIEW的車牌識(shí)別系統(tǒng)資料
    發(fā)表于 01-11 18:16 ?67次下載

    基于OpenCV開源庫(kù)開發(fā)的在OpenHarmony中實(shí)現(xiàn)車牌識(shí)別

    識(shí)別系統(tǒng),基于 OpenCV 開源庫(kù)開發(fā)。 本項(xiàng)目使用 潤(rùn)和 HiSpark Taurus AI Camera(Hi3516DV300) 攝像 頭開發(fā)板套件(以下簡(jiǎn)稱 Hi3516)實(shí)
    的頭像 發(fā)表于 06-30 11:16 ?5736次閱讀

    項(xiàng)目分享|基于ELF 1開發(fā)板的遠(yuǎn)程監(jiān)測(cè)及人臉識(shí)別項(xiàng)目

    今天非常榮幸地向各位小伙伴分享一個(gè)由共創(chuàng)社成員完成的遠(yuǎn)程監(jiān)測(cè)及人臉識(shí)別項(xiàng)目,該項(xiàng)目依托ELF1開發(fā)板為核心硬件平臺(tái),構(gòu)建了一套完整的視頻監(jiān)控系統(tǒng)
    的頭像 發(fā)表于 03-13 16:41 ?740次閱讀
    <b class='flag-5'>項(xiàng)目</b>分享|基于<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的遠(yuǎn)程監(jiān)測(cè)及人臉<b class='flag-5'>識(shí)別項(xiàng)目</b>
    主站蜘蛛池模板: 91成人免费在线视频 | 粉嫩尤物在线456 | 美女18黄 | 综合天天色 | 欧美日韩伦理 | 网站在线你懂的 | 免费播放一区二区三区 | 亚洲天堂免费在线 | 色婷婷精品大全在线视频 | 日本aaaa级毛片在线看 | 午夜视频免费在线 | 久久婷婷是五月综合色狠狠 | 边摸边吃奶边做视频叫床韩剧 | 四虎成人免费网站在线 | 天天干网站 | 女的扒开尿口让男人桶爽 | 久久综合久久88 | 四虎影院在线观看免费 | 奇米影视奇米色777欧美 | 天天操夜夜噜 | 亚洲乱亚洲乱妇41p国产成人 | 国产成人毛片亚洲精品不卡 | 乱高h辣黄文np公交车 | 欧美午夜激情影院 | 性性欧美 | 爱爱网站免费 | 国产免费人成在线视频视频 | 国产精品久久婷婷六月丁香 | 黄色a∨| 操干| 日本免费一级视频 | 亚洲精品午夜久久aaa级久久久 | 日韩系列 | 国产精品亚洲色图 | 精品玖玖 | 欧美有码视频 | 欧美黄色片免费观看 | 欧美成人三级伦在线观看 | 午夜在线看片 | 亚洲欧美强伦一区二区另类 | 日本免费黄色网 |