一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何將Raspberry Pi相機(jī)用作Bash腳本的一部分?

電子設(shè)計(jì) ? 來(lái)源:電路城 ? 作者:電路城 ? 2021-04-28 09:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Raspberry Pi相機(jī)非常有趣。它可用于傻瓜照片,定格動(dòng)畫和計(jì)算機(jī)視覺(jué)項(xiàng)目。

為了介紹如何將相機(jī)用作Bash腳本的一部分,我們將使用帶有按鈕的相機(jī),該按鈕將為圖像選擇一個(gè)隨機(jī)濾鏡。這些濾鏡中的一些可以增強(qiáng)圖像,有些可以將其更改為卡通,其他則可以產(chǎn)生藝術(shù)效果。

在The Pi Cast的最新一集中,我們使用Python創(chuàng)建了該項(xiàng)目的版本。在這里,您可以看到官方Raspberry Pi相機(jī)可能產(chǎn)生的所有圖像效果。

Bash終端是我們的編程環(huán)境,它是引入功能強(qiáng)大的腳本語(yǔ)言的好方法,該腳本語(yǔ)言經(jīng)常被其他語(yǔ)言所忽視。

我們?cè)谠擁?xiàng)目中使用了Raspberry Pi 4,但也可以使用運(yùn)行最新Raspberry Pi OS的任何其他Raspberry Pi模型來(lái)創(chuàng)建該項(xiàng)目。

對(duì)于此項(xiàng)目,您將需要:

? 任何樹莓派

? 任何Raspberry Pi攝像頭模塊(盡管沒(méi)有USB網(wǎng)絡(luò)攝像頭)

? 最新的Raspberry Pi操作系統(tǒng)

? 面包板

? 2x公對(duì)母跳線

? 一個(gè)按鈕

設(shè)置Raspberry Pi相機(jī)

如果您已經(jīng)熟悉如何設(shè)置Pi相機(jī)模塊,則可以跳過(guò)。這些步驟將適用于所有Raspberry Pi相機(jī)模塊(包括第三方模塊)。

關(guān)閉Raspberry Pi的電源

1.輕輕向上提起塑料鎖,打開(kāi)攝像頭端口。

2.插入帶狀連接器,使藍(lán)色卡舌面向USB /以太網(wǎng)端口。

3.合上連接器上的鎖,并輕輕拉動(dòng)它以確保其就位。

4.打開(kāi)Raspberry Pi的電源,然后轉(zhuǎn)到“首選項(xiàng)” 》》“ Raspberry Pi配置”。

5.單擊“接口”選項(xiàng)卡中“攝像機(jī)”的“啟用”按鈕。

6.單擊確定,然后重新啟動(dòng)Pi。

7.打開(kāi)終端,然后鍵入以下命令以快速拍照以測(cè)試相機(jī)。

$ raspistill -o test.jpg

經(jīng)過(guò)五秒鐘后,將拍攝圖像并將其另存為test.jpg。在繼續(xù)之前,使用文件管理器檢查圖像是否正確。

接線按鈕

一個(gè)有時(shí)被稱為“瞬時(shí)開(kāi)關(guān)”的按鈕將用于觸發(fā)我們的項(xiàng)目。為此,我們需要通過(guò)面包板將按鈕連接到Raspberry Pi的GPIO。

1.將按鈕插入面包板,使支腿越過(guò)面包板的中央通道。

2.將公對(duì)母跳線的公端與面包板上按鈕的左上腿放在同一列中。將另一端連接 到Raspberry Pi的3.3V引腳。這是離Micro SD卡插槽最近的插針。

3.以與以前相同的方式,將按鈕的右上角連接到Raspberry Pi的GPIO 17(左列的六個(gè)引腳)。

為Raspberry Pi隨機(jī)圖像編寫代碼

編寫B(tài)ash代碼是在計(jì)算機(jī)上編寫任務(wù)腳本的好方法。Bash是一種功能強(qiáng)大的腳本語(yǔ)言,可以自動(dòng)執(zhí)行許多任務(wù)。通過(guò)Raspberry Pi,我們還可以使用它與GPIO交互。

1.啟動(dòng)Geany(從菜單中)并創(chuàng)建一個(gè)名為random-art.sh的新文件,并記住經(jīng)常保存。

2.輸入第一行代碼,這將告訴代碼在哪里可以找到Bash解釋器。

#!/bin/bash

3. 使用echo命令,我們將值寫入兩個(gè)文件。第一個(gè)使能GPIO 17,第二個(gè)將GPIO 17設(shè)置為輸入,默認(rèn)情況下該輸入為關(guān)閉(0)。

echo “17” 》 /sys/class/gpio/export

echo “in” 》 /sys/class/gpio/gpio17/direction

4. 輸入一個(gè)用于存儲(chǔ)此項(xiàng)目中所有可能的圖像效果的數(shù)組。總共有20種效果,每種效果在數(shù)組中都有自己的位置,這使我們的代碼可以根據(jù)隨機(jī)數(shù)選擇特定的效果。

array[0]=“none”

array[1]=“negative”

array[2]=“solarise”

array[3]=“sketch”

array[4]=“denoise”

array[5]=“emboss”

array[6]=“oilpant”

array[7]=“hatch”

array[8]=“gpen”

array[9]=“pastel”

array[10]=“watercolour”

array[11]=“film”

array[12]=“blur”

array[13]=“saturation”

array[14]=“colourswap”

array[15]=“washedout”

array[16]=“posterise”

array[17]=“colourpoint”

array[18]=“colourbalance”

array[19]=“cartoon”

5.創(chuàng)建一個(gè)名為size的變量以存儲(chǔ)陣列中的效果數(shù)。此變量將存儲(chǔ)命令的輸出(通過(guò){}),該命令檢查數(shù)組的長(zhǎng)度。

size=${#array[@]}

6.使用while true循環(huán)不斷運(yùn)行代碼的下一部分。

while true; do

7.創(chuàng)建另一個(gè)變量index,該變量將存儲(chǔ)一個(gè)介于零和數(shù)組長(zhǎng)度(在本例中為20)之間的隨機(jī)數(shù)。

index=$(($RANDOM % $size))

8. 打印隨機(jī)選擇的圖像效果以進(jìn)行調(diào)試。

echo ${array[$index]}

9.檢查連接到GPIO 17的按鈕的當(dāng)前狀態(tài),并將其保存到變量data中。如果未按下,它將具有默認(rèn)狀態(tài)off,即0。按下時(shí),該值將變?yōu)閛n,即1。這是我們相機(jī)項(xiàng)目的觸發(fā)器。

data=“$(cat /sys/class/gpio/gpio17/value)”

10.使用條件測(cè)試來(lái)檢查存儲(chǔ)在數(shù)據(jù)變量中的值。如果值為1,則已按下按鈕。

if [ ${data} = “1” ]; then

11.按下按鈕后,下一步將創(chuàng)建一個(gè)時(shí)間戳并將其保存到名為TIME的變量中。

TIME=$(date +“%Y-%m-%d_%H%M%S”)

12.使用圖像效果拍照,然后使用時(shí)間戳記作為文件名保存圖像。

raspistill -ifx ${array[$index]} -o $TIME.jpg

13.關(guān)閉條件循環(huán),然后關(guān)閉while true循環(huán)。

fi

done

保存代碼。

完整的代碼:

#!/bin/bash

echo “17” 》 /sys/class/gpio/export

echo “in” 》 /sys/class/gpio/gpio17/direction

array[0]=“none”

array[1]=“negative”

array[2]=“solarise”

array[3]=“sketch”

array[4]=“denoise”

array[5]=“emboss”

array[6]=“oilpant”

array[7]=“hatch”

array[8]=“gpen”

array[9]=“pastel”

array[10]=“watercolour”

array[11]=“film”

array[12]=“blur”

array[13]=“saturation”

array[14]=“colourswap”

array[15]=“washedout”

array[16]=“posterise”

array[17]=“colourpoint”

array[18]=“colourbalance”

array[19]=“cartoon”

size=${#array[@]}

while true; do

index=$(($RANDOM % $size))

echo ${array[$index]}

data=“$(cat /sys/class/gpio/gpio17/value)”

if [ ${data} = “1” ]; then

TIME=$(date +“%Y-%m-%d_%H%M%S”)

raspistill -ifx ${array[$index]} -o $TIME.jpg

fi

done

運(yùn)行代碼

要使代碼可執(zhí)行,請(qǐng)打開(kāi)終端并導(dǎo)航到包含代碼的文件夾。輸入此命令。

$ chmod +x random-art.sh

要運(yùn)行命令,請(qǐng)?jiān)诮K端類型中

。/random-art.sh

按下按鈕觸發(fā)代碼以選擇隨機(jī)圖像效果并拍照!
責(zé)任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    99

    文章

    15362

    瀏覽量

    140242
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8173

    瀏覽量

    272438
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7655

    瀏覽量

    90661
  • 相機(jī)
    +關(guān)注

    關(guān)注

    4

    文章

    1460

    瀏覽量

    54641
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Protel99se 安裝好了,一部分ddb文件能打開(kāi)一部分pcb格式打不開(kāi)

    Protel99se 安裝好了,一部分ddb文件能打開(kāi),一部分pcb格式打不開(kāi),該怎么辦
    發(fā)表于 12-21 20:14

    保護(hù)您的 IP 核——第一部分軟 IP——前言

    保護(hù)您的 IP 核——第一部分軟 IP——前言 隨著全球化硬件設(shè)計(jì)和制造過(guò)程的激增以及IP供應(yīng)商之間的競(jìng)爭(zhēng),IP盜版/假冒、虛假所有權(quán)等威脅正在加劇。因此,保護(hù)?? IP 核設(shè)計(jì)的要求及其代表的專有
    發(fā)表于 02-23 11:59

    ISDB放送標(biāo)準(zhǔn)中的一部分

    ISDB放送標(biāo)準(zhǔn)中的一部分,是日本的番組表顯示相關(guān)的。
    發(fā)表于 11-16 18:52 ?2次下載

    作為其最新教育推動(dòng)的一部分 微軟Immersive Reader引入了虛擬現(xiàn)實(shí)

    作為其最新教育推動(dòng)的一部分,微軟Immersive Reader引入虛擬現(xiàn)實(shí)。 該公司在BETT UK上展示了用于VR的Immersive Reader,展示了用戶如何將Immersive Reader工具與他們的VR頭顯配合
    發(fā)表于 01-23 16:08 ?1021次閱讀

    有時(shí)你需要點(diǎn)收獲第一部分

    有時(shí)你需要點(diǎn)收獲第一部分
    發(fā)表于 04-20 10:31 ?1次下載
    有時(shí)你需要<b class='flag-5'>一</b>點(diǎn)收獲第<b class='flag-5'>一部分</b>

    一部分、硬件設(shè)計(jì)

    一部分、硬件設(shè)計(jì)我把個(gè)硬件系統(tǒng)分為五個(gè)單元:電源單元、單片機(jī)單元、輸入單元、輸出單元、通信單元。如下圖:
    發(fā)表于 12-09 12:36 ?16次下載
    第<b class='flag-5'>一部分</b>、硬件設(shè)計(jì)

    Raspberry Pi Bash Shell 腳本簡(jiǎn)介

      拋開(kāi)潛在的麻煩不談,Bash 可以是個(gè)非常強(qiáng)大的工具,讓您可以自動(dòng)執(zhí)行各種任務(wù)。在即將發(fā)表的文章中,我展示如何使用 Bash 腳本
    的頭像 發(fā)表于 08-15 15:08 ?1495次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>Bash</b> Shell <b class='flag-5'>腳本</b>簡(jiǎn)介

    為提高效率——如何將雙向功率流集成到UPS設(shè)計(jì)中(第一部分

    為提高效率——如何將雙向功率流集成到UPS設(shè)計(jì)中(第一部分
    發(fā)表于 11-01 08:27 ?0次下載
    為提高效率——<b class='flag-5'>如何將</b>雙向功率流集成到UPS設(shè)計(jì)中(第<b class='flag-5'>一部分</b>)

    Raspberry Pi和傳感器制作“可自動(dòng)營(yíng)造舒適空間的裝置” 第四部分?劇終篇

    第1回:用Raspberry Pi和傳感器制作“可自動(dòng)營(yíng)造舒適空間的裝置” 第一部分第2回:用Raspberry Pi和傳感器制作“可自動(dòng)營(yíng)
    的頭像 發(fā)表于 02-24 10:17 ?1047次閱讀
    用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和傳感器制作“可自動(dòng)營(yíng)造舒適空間的裝置” 第四<b class='flag-5'>部分</b>?劇終篇

    Raspberry Pi和傳感器制作“可自動(dòng)營(yíng)造舒適空間的裝置” 第二部分

    大家好,我是吉田!我們這次要?jiǎng)?chuàng)作款讓家中更舒適、讓在家辦公更高效的設(shè)備,本文是第二部分。第一部分介紹了制作綱要和所需部件。這次我們實(shí)際連接Bluetooth傳感器和
    的頭像 發(fā)表于 03-01 11:15 ?792次閱讀
    用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和傳感器制作“可自動(dòng)營(yíng)造舒適空間的裝置” 第二<b class='flag-5'>部分</b>

    通過(guò)Twython在Raspberry Pi上發(fā)推文!(第2部分

    歡迎來(lái)到通過(guò)“Twython”在Raspberry Pi上發(fā)推文的第2部分。和上次樣,我們遵循Ras
    的頭像 發(fā)表于 03-01 10:19 ?983次閱讀
    通過(guò)Twython在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上發(fā)推文?。ǖ?<b class='flag-5'>部分</b>)

    使用Raspberry Pi 3自制智能相框和日歷—第二部分

    本教程的第二部分將帶您完成構(gòu)建智能相框和日歷的框架、連接PIR運(yùn)動(dòng)傳感器和控制相框幻燈片顯示向日歷顯示的過(guò)渡這些步驟。該項(xiàng)目繼續(xù)使用本教程的使用Raspberry Pi 3自制智能相
    的頭像 發(fā)表于 02-24 17:51 ?1785次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 3自制智能相框和日歷—第二<b class='flag-5'>部分</b>

    使用Raspberry Pi 3自制智能相框和日歷—第一部分

    該項(xiàng)目將使用具有Raspbian Jessie操作系統(tǒng)的Raspberry Pi 3 B型進(jìn)行構(gòu)建。我指導(dǎo)您完成Raspberry Pi
    的頭像 發(fā)表于 02-24 17:08 ?1623次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 3自制智能相框和日歷—第<b class='flag-5'>一部分</b>

    基于Raspberry Pi的DIY無(wú)人機(jī)第3部分–FPV設(shè)置指南

    本文是我們Raspberry Pi四軸飛行器系列的最后一部分。有關(guān)本教程的其他部分,請(qǐng)參考《DIYRaspberry Pi無(wú)人機(jī):機(jī)械構(gòu)造–
    的頭像 發(fā)表于 02-24 17:46 ?6013次閱讀
    基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的DIY無(wú)人機(jī)第3<b class='flag-5'>部分</b>–FPV設(shè)置指南

    FPGA立體相機(jī)設(shè)置-第一部分

    電子發(fā)燒友網(wǎng)站提供《FPGA立體相機(jī)設(shè)置-第一部分.zip》資料免費(fèi)下載
    發(fā)表于 06-29 09:27 ?0次下載
    FPGA立體<b class='flag-5'>相機(jī)</b>設(shè)置-第<b class='flag-5'>一部分</b>