You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/hr/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md

6.2 KiB

Snimanje slike - Virtualni IoT hardver

U ovom dijelu lekcije, dodati ćete senzor kamere svom virtualnom IoT uređaju i čitati slike s njega.

Hardver

Virtualni IoT uređaj koristit će simuliranu kameru koja šalje slike iz datoteka ili s vaše web kamere.

Dodavanje kamere u CounterFit

Kako biste koristili virtualnu kameru, trebate je dodati u aplikaciju CounterFit.

Zadatak - dodavanje kamere u CounterFit

Dodajte kameru u aplikaciju CounterFit.

  1. Kreirajte novu Python aplikaciju na svom računalu u mapi nazvanoj fruit-quality-detector s jednim datotekama nazvanim app.py i Python virtualnim okruženjem, te dodajte CounterFit pip pakete.

    ⚠️ Možete se referirati na upute za kreiranje i postavljanje CounterFit Python projekta u lekciji 1 ako je potrebno.

  2. Instalirajte dodatni Pip paket za instalaciju CounterFit shima koji može komunicirati sa senzorima kamere simulirajući dio Picamera Pip paketa. Pobrinite se da ovo instalirate iz terminala s aktiviranim virtualnim okruženjem.

    pip install counterfit-shims-picamera
    
  3. Pobrinite se da je CounterFit web aplikacija pokrenuta.

  4. Kreirajte kameru:

    1. U okviru Create sensor u panelu Sensors, otvorite padajući izbornik Sensor type i odaberite Camera.

    2. Postavite Name na Picamera.

    3. Odaberite gumb Add za kreiranje kamere.

    Postavke kamere

    Kamera će biti kreirana i pojavit će se na popisu senzora.

    Kreirana kamera

Programiranje kamere

Virtualni IoT uređaj sada se može programirati za korištenje virtualne kamere.

Zadatak - programiranje kamere

Programirajte uređaj.

  1. Pobrinite se da je aplikacija fruit-quality-detector otvorena u VS Code.

  2. Otvorite datoteku app.py.

  3. Dodajte sljedeći kod na vrh datoteke app.py kako biste povezali aplikaciju s CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Dodajte sljedeći kod u datoteku app.py:

    import io
    from counterfit_shims_picamera import PiCamera
    

    Ovaj kod uvozi potrebne biblioteke, uključujući klasu PiCamera iz biblioteke counterfit_shims_picamera.

  5. Dodajte sljedeći kod ispod ovog za inicijalizaciju kamere:

    camera = PiCamera()
    camera.resolution = (640, 480)
    camera.rotation = 0
    

    Ovaj kod kreira objekt PiCamera, postavlja rezoluciju na 640x480. Iako su podržane veće rezolucije, klasifikator slika radi na mnogo manjim slikama (227x227), pa nema potrebe za snimanjem i slanjem većih slika.

    Linija camera.rotation = 0 postavlja rotaciju slike u stupnjevima. Ako trebate rotirati sliku s web kamere ili datoteke, postavite ovo prema potrebi. Na primjer, ako želite promijeniti sliku banane na web kameri u pejzažnom načinu u portretni način, postavite camera.rotation = 90.

  6. Dodajte sljedeći kod ispod ovog za snimanje slike kao binarnih podataka:

    image = io.BytesIO()
    camera.capture(image, 'jpeg')
    image.seek(0)
    

    Ovaj kod kreira objekt BytesIO za pohranu binarnih podataka. Slika se čita s kamere kao JPEG datoteka i pohranjuje u ovaj objekt. Ovaj objekt ima pokazatelj pozicije kako bi znao gdje se nalazi u podacima, tako da se može dodati više podataka na kraj ako je potrebno, pa linija image.seek(0) pomiče ovu poziciju natrag na početak kako bi se svi podaci mogli kasnije pročitati.

  7. Ispod ovog, dodajte sljedeće za spremanje slike u datoteku:

    with open('image.jpg', 'wb') as image_file:
        image_file.write(image.read())
    

    Ovaj kod otvara datoteku nazvanu image.jpg za pisanje, zatim čita sve podatke iz objekta BytesIO i zapisuje ih u datoteku.

    💁 Slika se može snimiti direktno u datoteku umjesto u objekt BytesIO tako da se ime datoteke proslijedi pozivu camera.capture. Razlog za korištenje objekta BytesIO je taj što kasnije u ovoj lekciji možete poslati sliku svom klasifikatoru slika.

  8. Konfigurirajte sliku koju će kamera u CounterFit snimiti. Možete postaviti Source na File, zatim učitati datoteku slike, ili postaviti Source na WebCam, i slike će se snimati s vaše web kamere. Pobrinite se da odaberete gumb Set nakon odabira slike ili web kamere.

    CounterFit s datotekom postavljenom kao izvor slike i web kamerom koja prikazuje osobu koja drži bananu u pregledu web kamere

  9. Slika će biti snimljena i spremljena kao image.jpg u trenutnoj mapi. Vidjet ćete ovu datoteku u exploreru VS Code-a. Odaberite datoteku za pregled slike. Ako je potrebna rotacija, ažurirajte liniju camera.rotation = 0 prema potrebi i snimite novu sliku.

💁 Ovaj kod možete pronaći u mapi code-camera/virtual-iot-device.

😀 Vaš program za kameru je uspješno završen!


Odricanje od odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne preuzimamo odgovornost za bilo kakva nesporazuma ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.