国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于樹莓派的文件掃描器的設(shè)計(jì)與實(shí)現(xiàn)

2021-09-23 07:20秦子實(shí)
電腦知識與技術(shù) 2021年21期
關(guān)鍵詞:樹莓派

秦子實(shí)

摘要:隨著物聯(lián)網(wǎng)設(shè)備的普及,物聯(lián)網(wǎng)設(shè)備成本大幅下降,基于物聯(lián)網(wǎng)設(shè)備的低成本硬件大量出現(xiàn)。在日常工作中,紙質(zhì)文件掃描過程煩瑣,需要配置掃描儀,而在對數(shù)據(jù)輸入設(shè)備有限制的專用網(wǎng)絡(luò)中,掃描儀接入及管理也是一件復(fù)雜的工作。因此,需要一種具有多種輸入方式,且能夠以常用方式輸出的文件掃描設(shè)備。本文實(shí)現(xiàn)了一種基于樹莓派的簡易文件掃描器,具有成本低、低功率、體積小、使用限制少等特點(diǎn),可以廣泛應(yīng)用于多種文件掃描場景。

關(guān)鍵詞:樹莓派;OpenCV;Python

中圖分類號:TP393? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2021)21-0132-02

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

1概述

在日常企業(yè)辦公過程中,由于無紙化辦公的推進(jìn),有大量紙質(zhì)文件需要轉(zhuǎn)換為數(shù)字檔案進(jìn)行存儲,此類業(yè)務(wù)通常選用掃描儀來完成。掃描儀設(shè)備的使用場景較為單一,必須將大量文件資料逐頁送入掃描儀,且通常使用USB輸出在一臺特定的計(jì)算機(jī)上。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,卡片計(jì)算機(jī)及微型攝像頭的成本大幅降低,同時(shí)圖像處理技術(shù)也有了較大提升,而掃描儀本身即為一種將圖像進(jìn)行數(shù)字化處理的光學(xué)設(shè)備。因此,可以使用小型物聯(lián)網(wǎng)設(shè)備對這一過程進(jìn)行模擬并優(yōu)化,使其符合更多的使用場景。

本文實(shí)現(xiàn)了一種基于樹莓派和微型攝像頭的文件掃描器,輸入為文件的照片,可以通過USB、藍(lán)牙、無線/有線網(wǎng)絡(luò)等多種方式進(jìn)行輸出,使用場景靈活,且成本較掃描儀大幅降低。

2技術(shù)簡介

2.1樹莓派

樹莓派是目前應(yīng)用較為廣泛的卡片計(jì)算機(jī),最初設(shè)計(jì)用于基本的計(jì)算機(jī)科學(xué)教育。信用卡大小,流行版本峰值功率約10~15瓦,具備40針GPIO與外部硬件通信,同時(shí)具有15針MIPI接口(攝像頭輸入),CPU為ARMv7或v8系列四核1.2~1.5GHz,完全滿足圖像處理等復(fù)雜任務(wù)要求。操作系統(tǒng)通常使用基于Debian Linux的Raspbian,因此,Linux的大量軟件可以通過本地編譯在樹莓派上繼續(xù)使用。

2.2樹莓派本地編譯

在樹莓派上使用OpenCV或新版Python需要通過源碼編譯,對于OpenCV,需要提前安裝編譯工具、開發(fā)工具、圖片依賴、視頻依賴、GUI依賴等庫,此外,由于在樹莓派這種計(jì)算資源受限的設(shè)備上,還應(yīng)該安裝矩陣計(jì)算優(yōu)化庫:

[# 編譯/開發(fā)工具

sudo apt-get install build-essential cmakepkg-config

# 圖片處理相關(guān)依賴

sudo apt-get install libjpeg-devlibtiff5-dev libjasper-devlibpng12-dev

# 視頻處理相關(guān)依賴

sudo apt-get install libavcodec-devlibavformat-devlibswscale-devlibv4l-dev libxvidcore-devlibx264-dev

# GUI界面顯示相關(guān)依賴

sudo apt-get install libgtk2.0-dev libgtk-3-dev

# 矩陣運(yùn)算優(yōu)化庫

sudo apt-get install libatlas-base-devgfortran ]

對于Python,需要提前安裝頭文件等資源:

[sudo apt-get install python2.7-dev python3-dev ]

另外,在編譯前應(yīng)臨時(shí)調(diào)整系統(tǒng)虛擬內(nèi)存大小并重啟虛擬內(nèi)存服務(wù),使得編譯過程能夠利用樹莓派的全部四顆核心,避免編譯過程因?yàn)閮?nèi)存不足而掛起:

[sudo vim /etc/dphys-swapfile

CONF_SWAPSIZE=1024

sudo /etc/init.d/dphys-swapfile stop

sudo /etc/init.d/dphys-swapfile start ]

編譯完成后應(yīng)改回默認(rèn)值,以避免SD卡因過度讀寫損壞。

3文件掃描器實(shí)現(xiàn)方案

3.1安裝相關(guān)工具

在完成攝像頭硬件安裝后,應(yīng)安裝帶有array模塊的picamera庫,以通過Python驅(qū)動(dòng)攝像頭并直接將圖像轉(zhuǎn)為numpy數(shù)組,以供下游的OpenCV處理:

[pip install "picamera[array]" ]

3.2獲取圖像

通過PiCamera獲取攝像頭圖像,送入OpenCV并顯示在Raspbian系統(tǒng)的GUI中:

[from picamera.array import PiRGBArray

from picamera import PiCamera

import time, cv2

# 初始化攝像頭及數(shù)據(jù)引用

camera = PiCamera()

rawCampture = PiRGBArray(camera)

# 空一小段時(shí)間讓攝像頭硬件啟動(dòng)

time.sleep(0.1)

# 獲取一張圖片并顯示

camera.capture(rawCapture, format="bgr")

img = rawCapture.array

猜你喜歡
樹莓派
智能安全防盜探測小車
基于嵌入式技術(shù)的農(nóng)村醫(yī)療系統(tǒng)設(shè)計(jì)