欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

構(gòu)建一個(gè)基于Raspberry Pi的二維碼掃描器

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:Ashish Choudhary ? 2022-08-12 17:13 ? 次閱讀

QR碼(快速響應(yīng)碼)是一種矩陣條形碼,其中包含有關(guān)它所附加的項(xiàng)目的信息,如位置數(shù)據(jù)、標(biāo)識(shí)符或識(shí)別網(wǎng)站或應(yīng)用程序的跟蹤器等。它是一種機(jī)器可讀的光學(xué)二維圖像形式的標(biāo)簽,具有不同的圖案。在本教程中,我們將使用OpenCV和ZBar庫(kù)構(gòu)建一個(gè)基于RaspberryPi的二維碼掃描器。

要求

樹(shù)莓派 3(任何版本)

Pi 相機(jī)模塊

在繼續(xù)這個(gè)Raspberry Pi 3 二維碼掃描器之前,我們首先需要在這個(gè)項(xiàng)目中安裝 OpenCV、條碼解碼庫(kù) ZBar、imutils 和一些其他依賴項(xiàng)。OpenCV 在這里用于數(shù)字圖像處理。數(shù)字圖像處理最常見(jiàn)的應(yīng)用是 物體檢測(cè)、 人臉識(shí)別和人數(shù)統(tǒng)計(jì)。

在樹(shù)莓派中安裝 OpenCV

這里 OpenCV 庫(kù)將用于 Raspberry Pi QR 掃描儀。要安裝 OpenCV,首先,更新 Raspberry Pi。

sudo apt-get 更新

然后安裝在 Raspberry Pi 上安裝 OpenCV 所需的依賴項(xiàng)。

sudo apt-get install libhdf5-dev -y 
sudo apt-get install libhdf5-serial-dev –y 
sudo apt-get install libatlas-base-dev –y 
sudo apt-get install libjasper-dev -y 
sudo apt-get install libqtgui4 –y 
sudo apt-get install libqt4-test –y

之后,使用以下命令在 Raspberry Pi 中安裝 OpenCV。

pip3 安裝 opencv-contrib-python==4.1.0.25

安裝其他必需的軟件包

安裝ZBar

Zbar 是檢測(cè)和解碼不同類型條碼和二維碼的最佳庫(kù)。使用以下命令安裝庫(kù):

pip3 安裝 pyzbar

安裝imutils

imutils 用于使基本的圖像處理功能,如平移、旋轉(zhuǎn)、調(diào)整大小、骨架化和使用 OpenCV 更輕松地顯示 Matplotlib 圖像。使用以下命令安裝 imutils:

pip3 安裝 imutils

安裝argparse

使用以下命令安裝 argparse 庫(kù)。argparse負(fù)責(zé)解析命令行參數(shù)。

pip3 安裝 argparse

樹(shù)莓派二維碼閱讀器硬件設(shè)置

在這里,我們只需要 Raspberry Pi 和 Pi 相機(jī),用于使用 Raspberry Pi 相機(jī)的 QR 碼掃描儀,您只需將相機(jī)色帶連接器連接到 Raspberry pi 中提供的相機(jī)插槽中

pYYBAGL2GOqAVDu5AAWrQfsQTB8482.png

Pi 攝像頭可用于構(gòu)建各種有趣的項(xiàng)目,如Raspberry Pi 監(jiān)控?cái)z像頭、訪客監(jiān)控系統(tǒng)、家庭安全系統(tǒng)等。

Raspberry Pi 二維碼閱讀器的 Python 代碼

Raspberry Pi QR 閱讀器的完整代碼在頁(yè)面末尾給出。在我們對(duì) Raspberry Pi 進(jìn)行編程之前,讓我們了解一下代碼。

因此,像往常一樣,通過(guò)導(dǎo)入所有必需的包來(lái)啟動(dòng)代碼。

從 imutils.video 導(dǎo)入 VideoStream
從 pyzbar 導(dǎo)入 pyzbar
導(dǎo)入?yún)?shù)解析
導(dǎo)入日期時(shí)間
導(dǎo)入 imutils
進(jìn)口時(shí)間
導(dǎo)入cv2?

然后構(gòu)造參數(shù)解析器并解析參數(shù)。命令行參數(shù)包含有關(guān) CSV 文件路徑的信息。CSV(逗號(hào)分隔值)文件包含我們視頻流中每個(gè)條形碼的時(shí)間戳和有效負(fù)載。

ap = argparse.ArgumentParser()
ap.add_argument("-o", "--output", type=str, default="barcodes.csv",
            help="輸出包含條形碼的 CSV 文件的路徑")
args = vars(ap.parse_args())

之后,如果您使用 USB 網(wǎng)絡(luò)攝像頭,請(qǐng)初始化視頻流并取消注釋注釋行。

#vs = VideoStream(src=0).start()
vs = VideoStream(usePiCamera=True).start()
時(shí)間.sleep(2.0)

現(xiàn)在在循環(huán)中,從視頻流中抓取一幀并將其調(diào)整為 400 像素。一旦它抓取到幀,調(diào)用pyzbar.decode函數(shù)來(lái)檢測(cè)和解碼 QR 碼。

幀 = vs.read()
框架 = imutils.resize(框架,寬度 = 400)
條形碼 = pyzbar.decode(frame)

現(xiàn)在,循環(huán)檢測(cè)到的條形碼以提取條形碼的位置并在圖像上的條形碼周圍繪制邊界框。

對(duì)于條形碼中的條形碼:
        (x, y, w, h) = 條形碼.rect
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)

pYYBAGL2GOSAFOEJAAF2NKdoji8193.png

然后使用解碼(“utf-8”)函數(shù)將檢測(cè)到的條形碼解碼為“utf-8”字符串,然后使用barcode.type函數(shù)提取條形碼的類型。

條碼數(shù)據(jù) = 條碼.data.decode(“utf-8”)

條碼類型 = 條碼類型

之后,將提取的條形碼數(shù)據(jù)和條形碼類型保存在一個(gè)名為 text 的變量中,并在圖像上繪制條形碼數(shù)據(jù)和類型。

text = “{} ({})”.format(barcodeData,barcodeType)

cv2.putText(框架,文本,(x,y - 10),

cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)

poYBAGL2GOCAMgdyAAGWhEtumWk295.png

現(xiàn)在顯示帶有條形碼數(shù)據(jù)和條形碼類型的輸出。

cv2.imshow(“條碼閱讀器”, frame)

poYBAGL2GN2AZlmCAAMcpHHaSDA085.png

現(xiàn)在在最后一步,檢查是否按下了鍵‘s’,然后中斷主循環(huán)并開(kāi)始清理過(guò)程。

鍵 = cv2.waitKey(1) & 0xFF

# 如果 `s` 鍵被按下,退出循環(huán)

如果鍵 == ord(“s”):

休息

print(“[INFO] 清理。..”)

csv.close()

cv2.destroyAllWindows()

與停止()

測(cè)試 Raspberry Pi 二維碼掃描器

設(shè)置完成后,啟動(dòng) QR 碼閱讀器程序。您將看到一個(gè)窗口,顯示來(lái)自您的攝像頭的實(shí)時(shí)視圖,現(xiàn)在您可以在 PI 攝像頭前顯示條形碼。當(dāng) pi 解碼條碼時(shí),它會(huì)在其周圍繪制一個(gè)帶有條碼數(shù)據(jù)和條碼類型的紅色框,如下圖所示:

pYYBAGL2GNiASyNRAALxnlm3I-s860.png

這就是您只需使用 Raspberry Pi 板和 Pi 相機(jī)或 USB 相機(jī)即可輕松構(gòu)建Raspberry Pi 相機(jī) QR 碼閱讀器的方法。

從 imutils.video 導(dǎo)入 VideoStream
從 pyzbar 導(dǎo)入 pyzbar
導(dǎo)入?yún)?shù)解析
導(dǎo)入日期時(shí)間
導(dǎo)入 imutils
進(jìn)口時(shí)間
導(dǎo)入簡(jiǎn)歷2

ap = argparse.ArgumentParser()
ap.add_argument("-o", "--output", type=str, default="barcodes.csv",
help="輸出包含條形碼的 CSV 文件的路徑")
args = vars(ap.parse_args())
#vs = VideoStream(src=0).start() #如果您使用的是網(wǎng)絡(luò)攝像頭,請(qǐng)取消注釋
vs = VideoStream(usePiCamera=True).start() # 用于 Pi 相機(jī)
時(shí)間.sleep(2.0)
csv = open(args["輸出"], "w")
找到 = 設(shè)置()

而真:
幀 = vs.read()
框架 = imutils.resize(框架,寬度 = 400)
條形碼 = pyzbar.decode(frame)
對(duì)于條形碼中的條形碼:
(x, y, w, h) = 條形碼.rect
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)
條碼數(shù)據(jù) = 條碼.data.decode("utf-8")
條碼類型 = 條碼類型
text = "{} ({})".format(barcodeData,barcodeType)
打印(文本)
cv2.putText(框架,文本,(x,y - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)

# 如果條形碼文本當(dāng)前不在我們的 CSV 文件中,則寫(xiě)入
# 時(shí)間戳+條形碼到磁盤(pán)并更新集合
如果沒(méi)有找到barcodeData:
csv.write("{},{}\n".format(datetime.datetime.now(),
條形碼數(shù)據(jù)))
csv.flush()
found.add(barcodeData)
cv2.imshow("條碼閱讀器", frame)
鍵 = cv2.waitKey(1) & 0xFF

# 如果 `s` 鍵被按下,退出循環(huán)
如果鍵 == ord("s"):
休息
print("[INFO] 清理...")
csv.close()
cv2.destroyAllWindows()
與停止()

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

    關(guān)注

    7

    文章

    432

    瀏覽量

    26620
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41596
  • 掃描器
    +關(guān)注

    關(guān)注

    0

    文章

    170

    瀏覽量

    11965
  • RaspberryPi
    +關(guān)注

    關(guān)注

    1

    文章

    40

    瀏覽量

    9129
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    分享二維碼掃描軟件

    卓、機(jī)鋒、豌豆莢、91助手搜索“芝麻客”下載這個(gè)具備綜合應(yīng)用功能二維碼掃描軟件。 在安裝完芝麻客1.01之后,以我的小米手機(jī)截圖做演 步驟:安裝,啟動(dòng) 步驟
    發(fā)表于 11-13 14:36

    掃描器識(shí)別二維碼

    掃描器識(shí)別二維碼
    發(fā)表于 02-23 20:55

    采用LV4500i二維碼掃描器的應(yīng)用集成解決方案

    在自助繳費(fèi)終端日益普及的今天,結(jié)合嵌入式二維碼掃描模組等專用條碼識(shí)讀設(shè)備硬件產(chǎn)品構(gòu)建傳統(tǒng)商戶的O2O閉環(huán),為線下各類移動(dòng)支付應(yīng)用服務(wù)提供條碼支付、二維碼
    的頭像 發(fā)表于 10-28 18:53 ?1776次閱讀

    讀取二維碼掃描設(shè)備有哪些類型

    讀取二維碼掃描設(shè)備的幾種類型中比較簡(jiǎn)單、常用的便是收銀用條碼掃描槍,因此它也被稱為二維碼設(shè)備/二維碼讀取設(shè)備/
    發(fā)表于 07-06 10:09 ?4240次閱讀

    個(gè)簡(jiǎn)易的二維碼掃描器視圖

    修改 ZXING 條碼掃描器項(xiàng)目,方便 ohos 二維碼檢測(cè)和 AR 目的。這個(gè)項(xiàng)目實(shí)現(xiàn)了個(gè) ohos 組件,它顯示相機(jī)并在預(yù)覽中有二維碼
    發(fā)表于 04-06 11:18 ?2次下載

    二維碼掃描器,多樣化場(chǎng)景應(yīng)用

    隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,二維碼掃描器早已不是個(gè)新話題。二維碼核心技術(shù)的創(chuàng)新應(yīng)用,讓身邊的終端設(shè)備變得日趨智能,因?yàn)槠浜诵募夹g(shù)——
    的頭像 發(fā)表于 08-12 17:28 ?1263次閱讀
    <b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>,多樣化場(chǎng)景應(yīng)用

    二維碼掃描器是干嘛用的?嵌入式二維碼掃描器作用有哪些?

    嵌入式二維碼掃描器種用于掃描和解碼二維碼的設(shè)備,它可以像普通掃描
    的頭像 發(fā)表于 03-07 17:01 ?1448次閱讀
    <b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>是干嘛用的?嵌入式<b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>作用有哪些?

    如何選購(gòu)到性價(jià)比更高的二維碼識(shí)別掃描器?

    當(dāng)今社會(huì),越來(lái)越多的行業(yè)領(lǐng)域里都需要使用到二維碼識(shí)別掃描器,比如應(yīng)用在門(mén)禁安防領(lǐng)域的嵌入式二維碼識(shí)讀器用于讀取手機(jī)中的門(mén)禁二維碼或智慧門(mén)禁通行
    的頭像 發(fā)表于 07-04 15:27 ?962次閱讀
    如何選購(gòu)到性價(jià)比更高的<b class='flag-5'>二維碼</b>識(shí)別<b class='flag-5'>掃描器</b>?

    二維碼掃描模塊多少錢(qián)臺(tái)?二維掃描模組價(jià)格?

    二維碼掃描模塊作為種常見(jiàn)的嵌入式掃設(shè)備,主要用于掃描和解碼各種二維碼、屏幕
    的頭像 發(fā)表于 07-13 16:05 ?1237次閱讀
    <b class='flag-5'>二維碼</b><b class='flag-5'>掃描</b>模塊多少錢(qián)<b class='flag-5'>一</b>臺(tái)?<b class='flag-5'>二維</b><b class='flag-5'>掃描</b>模組價(jià)格?

    工業(yè)二維碼掃描器在電子業(yè)生產(chǎn)追溯管理中的應(yīng)用

    工業(yè)二維碼掃描器在電子業(yè)生產(chǎn)追溯管理中的作用越來(lái)越重要。隨著電子制造業(yè)的快速發(fā)展和需求的增長(zhǎng),追溯管理成為了電子產(chǎn)品制造企業(yè)不可或缺的環(huán)。而工業(yè)二維碼
    的頭像 發(fā)表于 08-01 16:13 ?844次閱讀
    工業(yè)<b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>在電子業(yè)生產(chǎn)追溯管理中的應(yīng)用

    二維碼掃描器模塊 嵌入式掃模塊價(jià)格

    二維碼掃描器模塊就是具有二維碼解碼功能的嵌入式掃模塊,它的作用是以命令觸發(fā)或感應(yīng)觸發(fā)的方式快速掃描
    的頭像 發(fā)表于 10-23 14:37 ?2900次閱讀
    <b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>模塊 嵌入式掃<b class='flag-5'>碼</b>模塊價(jià)格

    讀頭有哪些?嵌入自助設(shè)備專用的二維碼掃描器你知道嗎?

    深圳遠(yuǎn)景達(dá)(RAKINDA)科技就來(lái)給大家科普下,目前市面上適合嵌入集成到自助設(shè)備中的掃讀頭有哪些。掃讀頭有哪些?嵌入自助設(shè)備專用的二維碼掃描
    的頭像 發(fā)表于 01-08 14:42 ?585次閱讀
    掃<b class='flag-5'>碼</b>讀頭有哪些?嵌入自助設(shè)備專用的<b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>你知道嗎?

    遠(yuǎn)距離二維碼掃描器如何選擇?看看以下三款遠(yuǎn)距離二維碼模塊

    。此情此景下,遠(yuǎn)距離二維碼掃描器的出現(xiàn)讓遠(yuǎn)距離掃變得更容易,因?yàn)樗鼉?nèi)置專門(mén)的掃器件負(fù)責(zé)讀取解碼、高精度識(shí)別,掃快得飛起。作為條碼識(shí)別行
    的頭像 發(fā)表于 03-21 15:41 ?810次閱讀
    遠(yuǎn)距離<b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>如何選擇?看看以下三款遠(yuǎn)距離<b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊

    哪種二維碼掃描器適合生產(chǎn)線應(yīng)用?

    的環(huán)境特點(diǎn)。生產(chǎn)線通常是個(gè)充滿挑戰(zhàn)的環(huán)境,可能存在灰塵、油污、高溫、振動(dòng)等因素。因此,選擇款具有良好防護(hù)性能的二維碼掃描器至關(guān)重要。例如
    的頭像 發(fā)表于 12-19 16:43 ?171次閱讀
    哪種<b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>適合生產(chǎn)線應(yīng)用?

    工業(yè)二維碼條碼掃描器流水線條碼掃描

    。在繁忙的流水線上,每秒都關(guān)乎成本與效益的較量。工業(yè)二維碼條碼掃描器憑借其快速精準(zhǔn)的掃描性能,能夠瞬間捕捉產(chǎn)品上的條碼信息,無(wú)論是復(fù)雜的
    的頭像 發(fā)表于 01-07 16:07 ?138次閱讀
    工業(yè)<b class='flag-5'>二維碼</b>條碼<b class='flag-5'>掃描器</b>流水線條碼<b class='flag-5'>掃描</b>