• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    可觸發(fā)拍照“電子眼”作品的升級實現(xiàn)

    2022-08-04 10:37:48謝作如浙江省溫州中學
    中國信息技術(shù)教育 2022年15期
    關(guān)鍵詞:電子眼開源代碼

    謝作如 浙江省溫州中學

    2015年,筆者在本欄目寫過一篇題為《可觸發(fā)拍照的“電子眼”》的文章,用Arduino結(jié)合Processing的形式,制作了一個簡單的可觸發(fā)拍照作品,模擬現(xiàn)在智慧城市中隨處可見的“電子眼”功能。現(xiàn)在回頭去看,雖然Arduino在中小學的應(yīng)用已經(jīng)比較常見,但Processing并沒有得到普及。而且筆者設(shè)計的作品原型最大的缺點是難以部署——總不能搬一臺計算機去充當“電子眼”吧?

    當筆者再次審視過去的創(chuàng)客作品時,不得不為光陰流逝和技術(shù)變遷而感慨。當年為實現(xiàn)一些創(chuàng)意,滿世界苦苦尋找低門檻的編程工具。現(xiàn)如今,那些創(chuàng)意作品大都能用現(xiàn)有的工具快速實現(xiàn)。以“電子眼”作品為例,借助行空板和OpenCV、pinpong庫,寥寥幾行代碼就能實現(xiàn)這些功能(如圖1)。

    圖1 2015年的“電子眼”原型作品界面和照片

    ●“電子眼”作品的工作流程分析

    “電子眼”的核心功能是觸發(fā)拍照,其工作原理如圖2所示。當時筆者選擇了紅外熱釋電傳感器、開源硬件(Arduino)、普通電腦和攝像頭,軟件則使用Processing。

    圖2 “電子眼”觸發(fā)拍照的工作原理

    紅外熱釋電傳感器(如下頁圖3)是能檢測人或動物身體發(fā)射的紅外線而輸出電信號的傳感器,輸出開關(guān)信號,可以應(yīng)用于各種需要檢測運動人體的場合。在淘寶上,這種傳感器的價格在20~50元之間。

    圖3 紅外熱釋電傳感器

    實際上,除了紅外熱釋電傳感器外,還可以選擇其他類似的傳感器(如右表),如微波位移傳感器、紅外測障傳感器等。當然,如果要實現(xiàn)比較復(fù)雜的條件判斷,可能需要更多的傳感器組合。

    可選傳感器列表

    ●用行空板實現(xiàn)“電子眼”的優(yōu)勢分析

    行空板是一款為中小學Python編程而設(shè)計的開源硬件。行空板很小,尺寸略大于一張普通的明信片,但是性能卻不弱:4核1.2G國產(chǎn)CPU、512M內(nèi)存和16G固態(tài)硬盤,自帶了Wi-Fi和藍牙。行空板運行Linux操作系統(tǒng),支持免驅(qū)攝像頭、聲卡等常見的外設(shè),并預(yù)裝了一些與編程學習和創(chuàng)客造物息息相關(guān)的編程工具。例如,OpenCV是一個開源的跨平臺計算機視覺和機器學習軟件庫,比Processing更適合編寫與攝像頭相關(guān)的程序。

    行空板還內(nèi)置了單片機,相當于在普通的Linux電腦上接一塊類似Arduino和掌控板的開源硬件。那么,借助pinpong庫編寫與傳感器交互的攝像頭程序,類似于用Mind+編寫“實時模式”的代碼,非常方便。

    行空板雖然是一塊配置了可觸摸屏幕的智能終端,但并沒有提供接鍵盤鼠標進行編程的模式。因為我們總是習慣于在自己的電腦上調(diào)試代碼,然后“部署”(上傳)到智能終端上。從這一點看,行空板提供的多種連接電腦方式尤其可圈可點:①用USB方式,模擬出一塊網(wǎng)卡;②用Wi-Fi模式,和電腦連接同一個局域網(wǎng);③用熱點模式,讓行空板作為一個無線路由器。

    除了自帶的Jupyter和Mind+,行空板還可以使用Thonny作為IDE工具,調(diào)試代碼非常方便。因為連接開源硬件采用了pinpong庫,所以只要在電腦上接一塊開源硬件和攝像頭,“電子眼”的代碼就可以在任何電腦上開發(fā)調(diào)試,等測試正常后再部署到行空板上(如圖4)。

    圖4 用Thonny給行空板編寫程序

    ●可觸發(fā)拍照“電子眼”作品的編程

    根據(jù)“電子眼”的工作原理圖,筆者將代碼分解為拍照保存和傳感器觸發(fā)兩個部分,逐一講解。

    參考代碼1:打開攝像頭,拍照并且保存

    用OepnCV驅(qū)動攝像頭拍照僅幾行代碼就可以實現(xiàn)??紤]到有些攝像頭啟動慢,代碼中增加了等待0.5秒時間,避免拍攝的照片是黑屏,代碼如上頁圖5所示。

    圖5 參考代碼1

    參考代碼2:讀取行空板傳感器狀態(tài)

    行空板內(nèi)置的按鈕A和B,連接的是板載單片機的27、28引腳。圖6所示的代碼能夠輸出按鈕A的狀態(tài)。默認情況是1,按下是0。

    圖6 參考代碼2

    參考代碼3:“電子眼”的最簡代碼

    為了避免保存的圖片文件被覆蓋,代碼中每拍一張照片就將圖片編號加上1。一般來說,正式產(chǎn)品一般會采用“時間+編號”的方式來命名。

    紅外熱釋電傳感器和按鈕一樣,都屬于開關(guān)量傳感器,所以代碼只需要根據(jù)接口編寫做一下修改即可,在如圖7所示的代碼中,傳感器接在21口。

    圖7 參考代碼3

    ●程序運行效果測試和優(yōu)化

    筆者將紅外熱釋電傳感器接在行空板的21口(背面的接口),接上一個普通的攝像頭后測試,運行正常:當有人在傳感器前活動的,就能自動保存攝像頭照片(如圖8、圖9)。

    圖8 選擇要運行的程序

    圖9 運行界面

    需要說明的是,行空板有一個默認禁用的“開機自啟”功能(如圖10)。打開之后板子開機時會自動運行上一次關(guān)機前運行的程序。這樣一來,只要插上電源,這個“電子眼”程序就能夠一直運行下去。如果找一個盒子包裝一下,這個“電子眼”作品和正式購買的安防產(chǎn)品功能上一樣穩(wěn)定,能夠長時間使用。筆者將這個作品部署在學校的人工智能實驗室,作為暑假的安防管理,當拍到有人活動的照片后(因為暑假實驗室不開放),還會同時給筆者發(fā)一封郵件。

    圖10 行空板的“開機自啟”功能設(shè)置

    ●結(jié)語

    筆者曾在本刊2020年的專題《用Python驅(qū)動開源硬件》中,請上海蘑菇云的創(chuàng)客寫了一篇文章,將之前用Processing完成的創(chuàng)客作品用Python“再造”了一次。在創(chuàng)客文化中,“再造”是被鼓勵的一種學習方式。我們在不斷快速前進的同時,不妨也回頭看看,當年難以解決的一些問題或者門檻較高的技術(shù)方案,是否已經(jīng)有了新的工具和新的解決方案?在接下來的專欄文章中,筆者將繼續(xù)整理這方面的內(nèi)容,敬請關(guān)注。

    猜你喜歡
    電子眼開源代碼
    五毛錢能買多少頭牛
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    交警的幽默提醒
    大家說:開源、人工智能及創(chuàng)新
    開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
    90后李永乾:研發(fā)“盲人電子眼”
    金色年華(2016年14期)2016-02-28 01:44:30
    開源計算機輔助翻譯工具研究
    中江县| 庐江县| 通城县| 濉溪县| 福安市| 平和县| 桐梓县| 桂平市| 石柱| 深州市| 武威市| 武城县| 米林县| 慈利县| 沙洋县| 和硕县| 丹江口市| 西吉县| 册亨县| 芦山县| 西华县| 南岸区| 尤溪县| 迭部县| 颍上县| 巴彦淖尔市| 嘉兴市| 连山| 宁南县| 富宁县| 永寿县| 长丰县| 宜章县| 金门县| 兴义市| 台北市| 监利县| 巫溪县| 丹棱县| 抚宁县| 泸定县|