Bruke Raspberry Pi -kameramodul

Bruke Raspberry Pi -kameramodul

Med Raspberry Pi -kameramodulen kan du ta bilder og spille inn videoer ved hjelp av Raspberry Pi. Modulen krever ikke mye strøm til å fungere, og 5V strømforsyning som du bruker for å drive bringebærpi -en er nok til å kjøre både kameramodulen og bringebærpi.

Raspberry Pi -kameramodulen er tilgjengelig med forskjellige kameraoppløsninger. For øyeblikket er det tre Raspberry Pi -kameramoduler tilgjengelig: (1) Kameramodul v2 med en 8-megapiksel Sony IMX219 kamerasensor, (2) Pi noir -kamera v2, som også har en 8-megapiksel Sony INX219 kamerasensor, men ikke har et infrarødt filter, og (3) Raspberry Pi-kamera av høy kvalitet, som bruker 12.3-megapiksler Sony IMX477 sensor.

I denne artikkelen vil vi vise deg hvordan du kobler Raspberry Pi -kameramodulen til Raspberry Pi og hvordan du tar bilder og spiller inn videoer ved hjelp av kameramodulen. Vi vil bruke Raspberry Pi -kameramodulen V2 i denne artikkelen, men de andre kameramodulene fungerer på samme måte.

For å følge denne artikkelen, trenger du følgende:

  1. en Raspberry Pi 3 eller Raspberry Pi 4 med nettverkstilkobling;
  2. en Raspberry Pi -kameramodul;
  3. En mikro-USB (Raspberry Pi 3) eller USB Type-C (Raspberry Pi 4) strømadapter;
  4. et 16 GB eller 32 GB MICROSD -kort med Raspberry Pi OS; og
  5. En bærbar eller stasjonær datamaskin for VNC eksternt stasjonær tilgang eller SSH -tilgang til Raspberry Pi.

MERK: I denne artikkelen vil vi koble til Raspberry Pi eksternt via VNC eller SSH ved å bruke det hodeløse oppsettet av Raspberry Pi. Hvis du ikke vil få tilgang til bringebærpi -en din via SSH eller VNC, må du koble til en skjerm, et tastatur og en mus til Raspberry Pi.

For å lære å blinke Raspberry Pi OS -bildet på et microSD -kort, vennligst referer hvordan du installerer og bruker Raspberry Pi Image. Hvis du trenger hjelp til å installere Raspberry Pi OS på Raspberry Pi, kan du lese hvordan du installerer Raspberry Pi OS på Raspberry Pi 4. Hvis du trenger hjelp med det hodeløse oppsettet av Raspberry Pi, kan du sjekke ut hvordan du installerer og konfigurerer Raspberry Pi OS på Raspberry Pi 4 uten ekstern skjerm.

Maskinvareoppsett

De Raspberry Pi -kamera V2 Kameramodulsett kommer med dokumentasjonen og kameramodulen.

Kameramodulen skal gå i Kamera CSI -kontakt, Som vist på bildet nedenfor. Raspberry Pi Kamera CSI -kontakt skal ha en tynn plastfilm festet til den for beskyttelse. Fjern den tynne plastfilmen fra Kamera CSI -kontakt.

Når den tynne plastfilmen er fjernet fra Kamera CSI -kontakt, Det skal se ut som vist på bildet nedenfor.

De Kamera CSI -kontakt er låst som standard. For å koble Raspberry Pi -kameramodulen til Kamera CSI -kontakt, du må først låse den opp. For å låse opp Kamera CSI -kontakt, Trekk den svarte delen som vist på bildene nedenfor for å løfte den.

Ribbon -kabelen til bringebærpi -kameramodulen skal settes inn i Kamera CSI -kontakt.

Sett båndkabelen til bringebær Pi -kameramodulen i kamera CSI -kontakten. Forsikre deg om at pinnene på båndkabelen vender fremover, som vist på bildet nedenfor.

Skyv båndkabelen inn i CSI -kontakten. Forsikre deg om at en pinnene er delvis synlige, som vist på bildet nedenfor.

Skyv den svarte holderen på CSI -kontakten ned for å låse båndkabelen på plass.

Når båndkabelen er låst til CSI -kontakten, skal den se ut som vist på bildet nedenfor.

Kameramodulen har en tynn plastfilm festet til linsen til kameraet som standard for å beskytte linsen mot utilsiktet skade. Før du bruker kameraet, må du imidlertid fjerne plastfilmen.

Når den tynne plastfilmen er fjernet fra kameraet, skal den se ut som den som vises på bildet nedenfor. Nå er kameraet klart til å ta bilder og spille inn videoer.

Kraft på Raspberry Pi

Når kameramodulen er koblet til Raspberry Pi, kobler du strømkabelen til Raspberry Pi og kjør den på.

Konfigurere Raspberry Pi -kameramodul

For å ta bilder og spille inn videoer med Raspberry Pi -kameramodulen, må du aktivere den fra Raspberry Pi -konfigurasjonsprogramvaren. Start Raspberry Pi-konfigurasjonskommandolinjeverktøyet med følgende kommando:

$ Sudo Raspi-Config

Plukke ut Grensesnittalternativer og trykk .

Plukke ut Kamera og trykk .

Plukke ut og trykk .

trykk .

Plukke ut og trykk .

Plukke ut og trykk . Raspberry Pi din skal starte på nytt.

Når Raspberry Pi -støvlene dine, skal Raspberry Pi -kameramodulen være aktivert.

Opprette en prosjektkatalog

For å organisere prosjektfilene dine, oppretter du en prosjektkatalog ~/arbeid med følgende kommando:

$ mkdir ~/arbeid

Når prosjektkatalogen er opprettet, navigerer du til prosjektkatalogen som følger:

$ cd ~/arbeid

Tar bilder fra kommandolinjen

Du kan ta bilder fra Raspberry Pi -kameraet fra kommandolinjen ved å bruke Raspistill Kommandolinjeprogram. Raspistill Leveres forhåndsinstallert med Raspberry Pi OS.

Å ta et bilde fra Raspberry Pi -kameraet og lagre det som en ny fil image1.jpg, Kjør følgende kommando:

$ Raspistill -o Image1.jpg

Som du kan se, en ny bildefil image1.jpg har blitt skapt.

$ ls -lh

Som du kan se, har Raspberry Pi -kameramodulen tatt et bilde.

Den maksimale støttede bildeoppløsningen for Raspberry Pi-kameraet V2 8-megapiksler kamera er 3280 × 2464 piksler.

Å ta image med lavere oppløsning (i.e., 1024× 768 piksler), kjør følgende kommando:

$ Raspistill -W 1024 -H 768 -Q 100 -o Image2.jpg

Som du ser er det tatt et nytt bilde.

$ ls -lh

Det nye bildet har en oppløsning på 1024× 768 piksler.

Du kan snu bildet vertikalt ved å bruke -vf flagg som følger:

$ raspistill -vf -o image3.jpg

Som du ser har bildet blitt snudd vertikalt.

Du kan også snu bildet horisontalt ved å bruke -hf flagg som følger:

$ raspistill -hf -o image4.jpg

Som du ser har bildet blitt snudd horisontalt.

Innspilling av videoer fra kommandolinjen

Du kan spille inn videoer med Raspberry Pi -kameraet fra kommandolinjen ved å bruke Raspivid Kommandolinjeprogram. Raspivid kommer forhåndsinstallert på Raspberry Pi OS.

For å spille inn en video med Raspberry Pi -kameraet og lagre den som en ny fil Video1.H264, Kjør følgende kommando:

$ RASPIVID -o Video1.H264

MERK: Videofilnavnet må ende med .H264 (H264 videoutvidelse).

Et kort videoklipp er spilt inn og lagret som Video1.H264, Som vist på skjermbildet nedenfor.

Bildet nedenfor viser videoen som er spilt inn ved hjelp av Raspberry Pi -kameramodulen som spilles.

Du kan spille inn en video i en bestemt oppløsning (e.g., 1024 × 768 piksler) som følger:

$ RASPIVID -W 1024 -H 768 -o Video2.H264

Bildet nedenfor viser at en ny video med en oppløsning av 1024 × 768 Piksler er spilt inn.

$ ls -lh

På bildet nedenfor spilles videoen med en oppløsning på 1024 × 768 piksler i VLC Media Player.

Som med Raspistill Kommando ine -program, kan du bruke -vf og -hf alternativer for å vende den innspilte videoen vertikalt og horisontalt, henholdsvis.

Arbeider med Raspberry Pi -kameraet ved hjelp av Python

I denne delen vil jeg vise deg hvordan du tar bilder og spiller inn videoer med Raspberry Pi -kameramodulen ved hjelp av Python -programmeringsspråket. Først tar vi bilder med Raspberry Pi -kameramodulen ved hjelp av Python.

Lag et Python -skript EX01.py I prosjektkatalogen som følger:

$ nano ex01.py

Skriv deretter inn følgende kodelinjer i EX01.py fil. Når du er ferdig, trykk + X etterfulgt av Y og For å redde EX01.py fil.

Her importerer linje 1 Picamera modul fra Picamera bibliotek, og linje 2 importerer sove funksjon fra tid bibliotek. På linje 4, en ny Picamera objekt opprettes og en referanse til objektet lagres i kamera variabel.

Kameraet start_preview () Metoden brukes til å åpne et forhåndsvisningsvindu for kameraet før du tar et bilde. Du kan bare se forhåndsvisningsvinduet hvis du er koblet til Raspberry Pi via en ekstern skjerm. De sove() funksjon brukes til å vente 5 sekunder før du tar bildet. Forhåndsvisningsvinduet vises i antall sekunder som følger med. Kameraet fange () Metoden brukes til å ta et bilde med bringebærpi -kameramodulen og lagre den som image5.jpg fil. Når bildet er tatt, er ikke forhåndsvisningsvinduet for kameraet lenger nødvendig, og kameraet stop_preview () Metoden brukes til å lukke forhåndsvisningsvinduet for kameraet.

Kjør EX01.py Python -manus som følger:

$ Python3 EX01.py

Som du ser vises forhåndsvisningsvinduet. Forhåndsvisningsvinduet for kameraet hjelper deg med å justere kameramodulen riktig mens du tar bilder.

Som du kan se, er et nytt bilde blitt lagret som image5.jpg.

Du kan også ta bilder med en bestemt oppløsning (e.g., 1024 × 768 piksler) ved å bruke et Python -skript. For å gjøre det, lag først et nytt Python -skript EX02.py følgende:

$ nano ex02.py

Skriv inn følgende kodelinjer i EX02.py Python -skriptfil. Koden i EX02.py er stort sett den samme som koden i EX01.py, Men kameraet Vedtak Eiendom brukes i linje 5 for å sette oppløsningen. trykk + X etterfulgt av Y og For å redde EX02.py Python -manus.

Kjør EX02.py Python -manus som følger:

$ Python3 EX02.py

Forhåndsvisningsvinduet for kameraet skal vises.

Som du kan se, har et nytt bilde av oppløsning 1024 × 768 piksler blitt tatt til fange ved å bruke EX02.py.

Du kan også ta flere bilder ved hjelp av Python -programmeringsspråket. For å gjøre det, lag en Python -skriptfil som heter EX03.py I prosjektkatalogen som følger:

$ nano ex03.py

Skriv inn følgende kodelinjer i EX03.py Python -skriptfil. Når du er ferdig, trykk + X etterfulgt av Y og For å redde EX03.py fil.

Koden er det mest samme som i EX02.py Python -skript, men koden som brukes til å fange bildet er inne i en til Løkke. De til Loop kjører 5 ganger i dette eksemplet, og det er en forsinkelse på 10 sekunder før et bilde blir tatt. Derfor, EX03.py vil ta 5 bilder med 10-sekunders intervaller.

Kjør EX03.py Python -manus som følger:

$ Python3 EX03.py

Som du kan se, EX03.py Tok 5 bilder med Raspberry Pi -kameramodulen.

Du kan også spille inn videoer med Raspberry Pi -kameraet ditt ved å bruke Python -programmeringsspråket. For å gjøre det, lage et nytt Python -skript EX04.py følgende:

$ nano ex04.py

Skriv inn følgende kodelinjer i EX04.py Python -manus. Når du er ferdig, trykk + X etterfulgt av Y og For å redde EX04.py Python -manus.

Her importerer linje 1 Picamera fra Picamera bibliotek, linje 3 initialiserer Picamera, og linje 4 setter kameraoppløsningen til 640 × 480 piksler. Linje 6 starter forhåndsvisning av kameraet slik at du kan se hva Raspberry Pi -kameramodulen spiller inn, og linje 7 starter innspillingen og lagrer innspillingen til Video3.H264. Husk at filnavnet må ende med .H264 Utvidelse.

Linje 8 brukes til å spille inn videoen i 120 sekunder., og linje 9 brukes til å stoppe innspillingen. Når innspillingen er fullført, brukes linje 10 for å stoppe forhåndsvisningen av kameraet, da vi ikke lenger trenger det.

Kjør EX04.py Python -manus som følger:

$ Python3 EX04.py

Som du kan se, blir videoen spilt inn og lagret i filen Video3.H264.

Som du kan se, spilles den innspilte videoen.

Konvertere H264 videofiler til MP4

Som standard lagres videoene som er spilt inn av Raspberry Pi -kameramodulen i H264 -format. Imidlertid er det mest brukte formatet MP4 -formatet. I dette avsnittet vil vi vise deg hvordan du konverterer en H264 -video til MP4 -videoformat på Raspberry Pi OS ved å bruke GPAC Kommandolinjeprogram. Dette programmet kommer ikke forhåndsinstallert på Raspberry Pi OS, men det er tilgjengelig i det offisielle pakkelageret til Raspberry Pi OS.

Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering

Å installere GPAC, Kjør følgende kommando:

$ sudo apt install GPAC

For å bekrefte installasjonen, trykk Y Og trykk deretter .

Nå, GPAC skal installeres.

Å konvertere en Video3.H264 fil til mp4, kjør følgende kommando:

$ Mp4box -add video3.H264 Video3.MP4

H264 -videoen blir konvertert til MP4 -format.

På dette tidspunktet er videoen blitt konvertert til MP4.

Nå skal det ha blitt opprettet en ny MP4 -fil i prosjektkatalogen, som vist på skjermbildet nedenfor.

$ ls -lh

Som du kan se, spilles den konverterte MP4 -filen på VLC Media Player.

Konklusjon

I denne artikkelen viste vi deg hvordan du kobler Raspberry Pi -kameramodulen til Raspberry Pi og hvordan du tar bilder og spiller inn videoer fra kommandolinjen ved hjelp av Raspberry Pi Camera -modulen og Python -programmeringsspråket.