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

6.6 KiB

Bir Görüntü Yakalama - Sanal IoT Donanımı

Bu dersin bu bölümünde, sanal IoT cihazınıza bir kamera sensörü ekleyecek ve bu sensörden görüntüler okuyacaksınız.

Donanım

Sanal IoT cihazı, dosyalardan veya web kameranızdan görüntüler gönderen simüle edilmiş bir kamera kullanacaktır.

Kamerayı CounterFit'e Ekleme

Sanal bir kamera kullanmak için, CounterFit uygulamasına bir kamera eklemeniz gerekir.

Görev - Kamerayı CounterFit'e ekleyin

Kamerayı CounterFit uygulamasına ekleyin.

  1. Bilgisayarınızda fruit-quality-detector adlı bir klasörde app.py adlı tek bir dosya ve bir Python sanal ortamı ile yeni bir Python uygulaması oluşturun ve CounterFit pip paketlerini ekleyin.

    ⚠️ Gerekirse ders 1'de CounterFit Python projesi oluşturma ve ayarlama talimatlarına başvurabilirsiniz.

  2. Kamera sensörleriyle iletişim kurabilen ve bazı Picamera Pip paketi özelliklerini simüle eden bir CounterFit shim yüklemek için ek bir Pip paketi yükleyin. Bu işlemi, sanal ortamın etkin olduğu bir terminalden yaptığınızdan emin olun.

    pip install counterfit-shims-picamera
    
  3. CounterFit web uygulamasının çalıştığından emin olun.

  4. Bir kamera oluşturun:

    1. Sensors panelindeki Create sensor kutusunda, Sensor typeılır kutusundan Camera seçeneğini seçin.

    2. Name alanına Picamera yazın.

    3. Kamerayı oluşturmak için Add düğmesini seçin.

    Kamera ayarları

    Kamera oluşturulacak ve sensörler listesinde görünecektir.

    Oluşturulan kamera

Kamerayı Programlama

Sanal IoT cihazı artık sanal kamerayı kullanacak şekilde programlanabilir.

Görev - Kamerayı programlayın

Cihazı programlayın.

  1. fruit-quality-detector uygulamasının VS Code'da açık olduğundan emin olun.

  2. app.py dosyasınıın.

  3. Uygulamayı CounterFit'e bağlamak için aşağıdaki kodu app.py dosyasının en üstüne ekleyin:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Aşağıdaki kodu app.py dosyanıza ekleyin:

    import io
    from counterfit_shims_picamera import PiCamera
    

    Bu kod, gerekli bazı kütüphaneleri, CounterFit shim'inden PiCamera sınıfı dahil olmak üzere içe aktarır.

  5. Kamerayı başlatmak için aşağıdaki kodu ekleyin:

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

    Bu kod, bir PiCamera nesnesi oluşturur ve çözünürlüğü 640x480 olarak ayarlar. Daha yüksek çözünürlükler desteklenmesine rağmen, görüntü sınıflandırıcı çok daha küçük görüntülerle (227x227) çalışır, bu nedenle daha büyük görüntüler yakalamaya ve göndermeye gerek yoktur.

    camera.rotation = 0 satırı, görüntünün döndürülme açısını derece cinsinden ayarlar. Web kamerasından veya dosyadan gelen görüntüyü döndürmeniz gerekiyorsa, bu değeri uygun şekilde ayarlayın. Örneğin, bir web kamerasındaki yatay moddaki bir muz görüntüsünü dikey moda çevirmek istiyorsanız, camera.rotation = 90 olarak ayarlayın.

  6. Görüntüyü ikili veri olarak yakalamak için aşağıdaki kodu ekleyin:

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

    Bu kod, ikili verileri depolamak için bir BytesIO nesnesi oluşturur. Görüntü, kameradan bir JPEG dosyası olarak okunur ve bu nesnede saklanır. Bu nesne, verilerin neresinde olduğunu bilmek için bir konum göstergesine sahiptir, böylece gerekirse daha fazla veri sona yazılabilir. image.seek(0) satırı, bu konumu başa döndürerek tüm verilerin daha sonra okunabilmesini sağlar.

  7. Görüntüyü bir dosyaya kaydetmek için aşağıdakileri ekleyin:

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

    Bu kod, yazma için image.jpg adlı bir dosya açar, ardından BytesIO nesnesinden tüm verileri okur ve bu dosyaya yazar.

    💁 Görüntüyü bir BytesIO nesnesi yerine doğrudan bir dosyaya yakalamak için camera.capture çağrısına dosya adını geçebilirsiniz. Bu derste daha sonra görüntüyü görüntü sınıflandırıcınıza gönderebilmek için BytesIO nesnesi kullanılmıştır.

  8. CounterFit'teki kameranın yakalayacağı görüntüyü yapılandırın. Source seçeneğini File olarak ayarlayabilir ve bir görüntü dosyası yükleyebilir veya Source seçeneğini WebCam olarak ayarlayarak görüntülerin web kameranızdan yakalanmasını sağlayabilirsiniz. Bir resim seçtikten veya web kameranızı seçtikten sonra Set düğmesini seçtiğinizden emin olun.

    CounterFit'te bir dosyanın görüntü kaynağı olarak ayarlandığı ve bir kişinin muz tuttuğu bir web kamerası önizlemesi

  9. Bir görüntü yakalanacak ve mevcut klasörde image.jpg olarak kaydedilecektir. Bu dosyayı VS Code gezgininde göreceksiniz. Dosyayı seçerek görüntüyü görüntüleyin. Döndürme gerekiyorsa, camera.rotation = 0 satırını uygun şekilde güncelleyin ve başka bir fotoğraf çekin.

💁 Bu kodu code-camera/virtual-iot-device klasöründe bulabilirsiniz.

😀 Kamera programınız başarıyla çalıştı!


Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.