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/et/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md

5.6 KiB

Pildi jäädvustamine - Virtuaalne IoT-seade

Selles õppetüki osas lisate oma virtuaalsele IoT-seadmele kaamerasensori ja loete sellest pilte.

Riistvara

Virtuaalne IoT-seade kasutab simuleeritud kaamerat, mis saadab kas pilte failidest või teie veebikaamerast.

Kaamera lisamine CounterFit-i

Virtuaalse kaamera kasutamiseks peate selle CounterFit rakendusse lisama.

Ülesanne - kaamera lisamine CounterFit-i

Lisage kaamera CounterFit rakendusse.

  1. Looge oma arvutis uus Python-rakendus kaustas fruit-quality-detector, millel on üks fail nimega app.py ja Python-i virtuaalne keskkond, ning lisage CounterFit pip-paketid.

    ⚠️ Vajadusel saate viidata juhistele CounterFit Python-projekti loomise ja seadistamise kohta 1. õppetükis.

  2. Installige täiendav Pip-pakett, et lisada CounterFit shim, mis suudab suhelda kaamerasensoritega, simuleerides mõningaid Picamera Pip-paketi funktsioone. Veenduge, et installite selle terminalist, kus virtuaalne keskkond on aktiveeritud.

    pip install counterfit-shims-picamera
    
  3. Veenduge, et CounterFit veebirakendus töötab.

  4. Looge kaamera:

    1. Sensors paneelil Create sensor kastis valige rippmenüüst Sensor type ja valige Camera.

    2. Määrake Name väärtuseks Picamera.

    3. Valige Add nupp, et kaamera luua.

    Kaamera seaded

    Kaamera luuakse ja ilmub sensorite loendisse.

    Loodud kaamera

Kaamera programmeerimine

Virtuaalset IoT-seadet saab nüüd programmeerida kasutama virtuaalset kaamerat.

Ülesanne - kaamera programmeerimine

Programmeerige seade.

  1. Veenduge, et fruit-quality-detector rakendus on VS Code'is avatud.

  2. Avage fail app.py.

  3. Lisage app.py faili algusesse järgmine kood, et ühendada rakendus CounterFit-iga:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Lisage järgmine kood oma app.py faili:

    import io
    from counterfit_shims_picamera import PiCamera
    

    See kood impordib mõned vajalikud teegid, sealhulgas PiCamera klassi counterfit_shims_picamera teegist.

  5. Lisage sellele alla järgmine kood kaamera initsialiseerimiseks:

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

    See kood loob PiCamera objekti ja seab resolutsiooniks 640x480. Kuigi toetatakse ka kõrgemaid resolutsioone, töötab pildiklassifikaator palju väiksemate piltidega (227x227), seega pole vaja jäädvustada ja saata suuremaid pilte.

    Rida camera.rotation = 0 määrab pildi pööramise kraadides. Kui peate veebikaamera või faili pilti pöörama, seadke see vastavalt. Näiteks, kui soovite muuta veebikaamera horisontaalrežiimis banaanipildi vertikaalseks, seadke camera.rotation = 90.

  6. Lisage sellele alla järgmine kood, et jäädvustada pilt binaarandmetena:

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

    See kood loob BytesIO objekti binaarandmete salvestamiseks. Pilt loetakse kaamerast JPEG-failina ja salvestatakse sellesse objekti. Sellel objektil on positsiooniindikaator, mis näitab, kus andmetes ollakse, et vajadusel saaks rohkem andmeid lõppu kirjutada, seega liigutab rida image.seek(0) selle positsiooni tagasi algusesse, et hiljem saaks kõik andmed lugeda.

  7. Lisage sellele alla järgmine kood, et salvestada pilt faili:

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

    See kood avab faili nimega image.jpg kirjutamiseks, loeb kõik andmed BytesIO objektist ja kirjutab need faili.

    💁 Võite jäädvustada pildi otse faili, mitte BytesIO objekti, andes faili nime camera.capture käsule. Põhjus, miks kasutatakse BytesIO objekti, on see, et hiljem selles õppetükis saate pildi saata oma pildiklassifikaatorile.

  8. Konfigureerige pilt, mida CounterFit kaamera jäädvustab. Võite määrata Source väärtuseks File ja üles laadida pildifaili või määrata Source väärtuseks WebCam, et pilte jäädvustataks teie veebikaamerast. Veenduge, et valite Set nupu pärast pildi valimist või veebikaamera seadistamist.

    CounterFit, kus pildi allikaks on määratud fail, ja veebikaamera, mis näitab inimest, kes hoiab banaani veebikaamera eelvaates

  9. Pilt jäädvustatakse ja salvestatakse failina image.jpg praeguses kaustas. Näete seda faili VS Code'i failihalduris. Valige fail, et pilti vaadata. Kui see vajab pööramist, uuendage rida camera.rotation = 0 vastavalt ja tehke uus pilt.

💁 Selle koodi leiate kaustast code-camera/virtual-iot-device.

😀 Teie kaameraprogramm töötas edukalt!


Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.