色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

構建一個基于Raspberry Pi的二維碼掃描器

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

QR碼(快速響應碼)是一種矩陣條形碼,其中包含有關它所附加的項目的信息,如位置數據、標識符或識別網站或應用程序的跟蹤器等。它是一種機器可讀的光學二維圖像形式的標簽,具有不同的圖案。在本教程中,我們將使用OpenCV和ZBar庫構建一個基于RaspberryPi的二維碼掃描器。

要求

樹莓派 3(任何版本)

Pi 相機模塊

在繼續這個Raspberry Pi 3 二維碼掃描器之前,我們首先需要在這個項目中安裝 OpenCV、條碼解碼庫 ZBar、imutils 和一些其他依賴項。OpenCV 在這里用于數字圖像處理。數字圖像處理最常見的應用是 物體檢測、 人臉識別和人數統計。

在樹莓派中安裝 OpenCV

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

sudo apt-get 更新

然后安裝在 Raspberry Pi 上安裝 OpenCV 所需的依賴項。

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 是檢測和解碼不同類型條碼和二維碼的最佳庫。使用以下命令安裝庫:

pip3 安裝 pyzbar

安裝imutils

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

pip3 安裝 imutils

安裝argparse

使用以下命令安裝 argparse 庫。argparse負責解析命令行參數。

pip3 安裝 argparse

樹莓派二維碼閱讀器硬件設置

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

pYYBAGL2GOqAVDu5AAWrQfsQTB8482.png

Pi 攝像頭可用于構建各種有趣的項目,如Raspberry Pi 監控攝像頭、訪客監控系統、家庭安全系統等。

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

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

因此,像往常一樣,通過導入所有必需的包來啟動代碼。

從 imutils.video 導入 VideoStream
從 pyzbar 導入 pyzbar
導入參數解析
導入日期時間
導入 imutils
進口時間
導入cv2?

然后構造參數解析器并解析參數。命令行參數包含有關 CSV 文件路徑的信息。CSV(逗號分隔值)文件包含我們視頻流中每個條形碼的時間戳和有效負載。

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

之后,如果您使用 USB 網絡攝像頭,請初始化視頻流并取消注釋注釋行。

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

現在在循環中,從視頻流中抓取一幀并將其調整為 400 像素。一旦它抓取到幀,調用pyzbar.decode函數來檢測和解碼 QR 碼。

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

現在,循環檢測到的條形碼以提取條形碼的位置并在圖像上的條形碼周圍繪制邊界框。

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

pYYBAGL2GOSAFOEJAAF2NKdoji8193.png

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

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

條碼類型 = 條碼類型

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

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

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

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

poYBAGL2GOCAMgdyAAGWhEtumWk295.png

現在顯示帶有條形碼數據和條形碼類型的輸出。

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

poYBAGL2GN2AZlmCAAMcpHHaSDA085.png

現在在最后一步,檢查是否按下了鍵‘s’,然后中斷主循環并開始清理過程。

鍵 = cv2.waitKey(1) & 0xFF

# 如果 `s` 鍵被按下,退出循環

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

休息

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

csv.close()

cv2.destroyAllWindows()

與停止()

測試 Raspberry Pi 二維碼掃描器

設置完成后,啟動 QR 碼閱讀器程序。您將看到一個窗口,顯示來自您的攝像頭的實時視圖,現在您可以在 PI 攝像頭前顯示條形碼。當 pi 解碼條碼時,它會在其周圍繪制一個帶有條碼數據和條碼類型的紅色框,如下圖所示:

pYYBAGL2GNiASyNRAALxnlm3I-s860.png

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

從 imutils.video 導入 VideoStream
從 pyzbar 導入 pyzbar
導入參數解析
導入日期時間
導入 imutils
進口時間
導入簡歷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() #如果您使用的是網絡攝像頭,請取消注釋
vs = VideoStream(usePiCamera=True).start() # 用于 Pi 相機
時間.sleep(2.0)
csv = open(args["輸出"], "w")
找到 = 設置()

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二維碼
    +關注

    關注

    7

    文章

    426

    瀏覽量

    26501
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41377
  • 掃描器
    +關注

    關注

    0

    文章

    166

    瀏覽量

    11923
  • RaspberryPi
    +關注

    關注

    1

    文章

    40

    瀏覽量

    9103
收藏 人收藏

    評論

    相關推薦

    分享二維碼掃描軟件

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

    掃描器識別二維碼

    掃描器識別二維碼
    發表于 02-23 20:55

    采用LV4500i二維碼掃描器的應用集成解決方案

    在自助繳費終端日益普及的今天,結合嵌入式二維碼掃描模組等專用條碼識讀設備硬件產品構建傳統商戶的O2O閉環,為線下各類移動支付應用服務提供條碼支付、二維碼
    的頭像 發表于 10-28 18:53 ?1749次閱讀

    讀取二維碼掃描設備有哪些類型

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

    簡易的二維碼掃描器視圖

    修改 ZXING 條碼掃描器項目,方便 ohos 二維碼檢測和 AR 目的。這個項目實現了 ohos 組件,它顯示相機并在預覽中有二維碼
    發表于 04-06 11:18 ?2次下載

    二維碼掃描器,多樣化場景應用

    隨著互聯網技術的發展,二維碼掃描器早已不是新話題。二維碼核心技術的創新應用,讓身邊的終端設備變得日趨智能,因為其核心技術——
    的頭像 發表于 08-12 17:28 ?1172次閱讀
    <b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>,多樣化場景應用

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

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

    如何選購到性價比更高的二維碼識別掃描器

    當今社會,越來越多的行業領域里都需要使用到二維碼識別掃描器,比如應用在門禁安防領域的嵌入式二維碼識讀器用于讀取手機中的門禁二維碼或智慧門禁通行
    的頭像 發表于 07-04 15:27 ?919次閱讀
    如何選購到性價比更高的<b class='flag-5'>二維碼</b>識別<b class='flag-5'>掃描器</b>?

    二維碼掃描模塊多少錢臺?二維掃描模組價格?

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

    工業二維碼掃描器在電子業生產追溯管理中的應用

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

    二維碼掃描器模塊 嵌入式掃模塊價格

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

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

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

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

    。此情此景下,遠距離二維碼掃描器的出現讓遠距離掃變得更容易,因為它內置專門的掃器件負責讀取解碼、高精度識別,掃快得飛起。作為條碼識別行
    的頭像 發表于 03-21 15:41 ?722次閱讀
    遠距離<b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>如何選擇?看看以下三款遠距離<b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊

    有沒有可以二維碼和nfc合掃描器模塊?用于出入閘機

    存在著類將二維碼掃描與NFC功能合二為一掃描器模塊,它們不僅滿足了多樣化的識別需求,還極大地提升了用戶體驗和管理效率。這類
    的頭像 發表于 09-24 15:05 ?233次閱讀
    有沒有可以<b class='flag-5'>二維碼</b>和nfc合<b class='flag-5'>一</b>的<b class='flag-5'>掃描器</b>模塊?用于出入閘機

    哪種二維碼掃描器適合生產線應用?

    的環境特點。生產線通常是充滿挑戰的環境,可能存在灰塵、油污、高溫、振動等因素。因此,選擇款具有良好防護性能的二維碼掃描器至關重要。例如
    的頭像 發表于 12-19 16:43 ?122次閱讀
    哪種<b class='flag-5'>二維碼</b><b class='flag-5'>掃描器</b>適合生產線應用?
    主站蜘蛛池模板: 精品视频在线播放| 国产精品-区区久久久狼| 亚欧视频在线观看| 日日干日日操日日射| 欧美成人国产| 免费精品国产人妻国语| 两个客户一起吃我的奶| 久久免费特黄毛片| 久久精品综合电影| 久久99re6热在线播放| 国产真实强被迫伦姧女在线观看| 国产精品青青在线麻豆| 国产免费阿v精品视频网址| 国产精品7777人妻精品冫| 国产高清视频免费在线观看| 动漫美女被h动态图| 成年视频国产免费观看| 成人在线免费视频观看| 范冰冰hdxxxx| 国产精品久人妻精品| 国产特级毛片AAAAAAA高清| 国产亚洲欧美高清在线| 好男人WWW免费高清视频在线| 极品 女神校花 露脸91| 久久久青青| 免费看到湿的小黄文软件APP| 欧美91精品久久久久网免费| 漂亮的保姆3中文版完整版| 色女孩综合| 午夜十八岁禁| 亚洲呦女专区| 最新高清无码专区在线视频| 777久久人妻少妇嫩草AV蜜桃| 99亚偷拍自图区亚洲| 动漫美女人物被黄漫在线看| 国产乱码免费卡1卡二卡3卡四卡| 韩国羞羞秘密教学子开车漫书| 久久精品视频在线看99| 欧美videqsdesex0| 台湾佬综合娱乐网| 亚洲视频在线看|