v1.4.0

v1.4.0 temel bir imlib yeniden düzenlemesidir. find_blobs() / find_markers() doğrudan renk eşiği izleme için yeniden yazıldı, birçok bağımsız görüntü yöntemi nokta (blob) demetlerinin içine katlandı ve bazı görüntü yöntemleri yeniden adlandırıldı (subimgcopy, blitreplace, find_eyesfind_eye, compresscompressed). Ayrıca sensor.get_fb() / AGC / AEC açma-kapama anahtarları ve ~60 örnek betik ekler. Bu, yoğun şekilde bozucu bir sürümdür — aşağıdaki değişiklikleri okuyun.

Öne çıkanlar

  • Renk tabanlı nokta (blob) izlemefind_blobs() renk eşiklerini doğrudan alır ve düz bir nokta (blob) demeti listesi döndürür.

  • Imlib temizliğisubimg()copy(), blit()replace(), find_eyes()find_eye(), compress()compressed().

  • Sensörsensor.get_fb() ve AGC/AEC etkinleştirme anahtarları eklendi.

  • ~60 örnek betik eklendi/genişletildi.

  • Bozucu değişiklik: nokta (blob) API’si, kaldırılan görüntü yöntemleri ve bazı yeniden adlandırmalar — bozucu değişikliklere bakın.

Yeni özellikler

  • Sensörsensor.get_fb() (son anlık görüntü çerçeve arabelleğini (frame buffer) alma), sensor.set_gain_ctrl(enable) (AGC açma-kapama) ve sensor.set_exposure_ctrl(enable) (AEC açma-kapama) eklendi.

  • Görüntü — görüntü alt simgesi (img[i]) artık hem piksel okumayı hem de yazmayı destekliyor (gri tonlama / RGB565 / JPEG); yerinde bir image.compress() ve JPEG işlevlerinde bir quality= anahtar sözcüğü eklendi; find_blobs() / find_markers() / find_features() artık hiçbir şey bulunamadığında liste olmayan bir değer yerine boş (yinelenebilir) bir liste döndürüyor.

  • ~60 örnek betik (kart denetimi, görüntü filtreleri, renk izleme, yüz / göz / öznitelik tespiti, WiFi shield) ve ikinci bir iris tespiti örneği eklendi.

Diğer değişiklikler ve iyileştirmeler

  • image.histeq() artık yalnızca gri tonlamada değil RGB565 görüntülerde de çalışıyor.

Hata düzeltmeleri

  • Önyükleme sırasında pyb.DAC başlatıldı, böylece DAC çalışıyor (#121), bozuk bir image.dilate(), WINC client.send() sıfır bayt bozulması, nokta (blob) birleştirme yeniden yinelemesi, ilk kullanımdan sonra dosya sistemini bozan bir dosya arabelleği yeniden başlatma hatası, termopil To_min / To_max hesaplaması (#113) düzeltildi ve bir üstkaynak MicroPython HAL I2C/DMA yaması uygulandı.

Donanım ve kart desteği

  • WiFi shield — WINC1500, Rev-B kart dosyalarına güncellendi.

  • pyb.DAC — DAC çevre birimi etkinleştirildi.

Bozucu API değişiklikleri

v1.3.0 ile v1.4.0 arasındaki kullanıcıya görünür API değişiklikleri. Kapsam: modules/ içindeki Python C modülleri ve scripts/libraries/ içindeki Python kitaplıkları.

Her değişiklik etkisiyle etiketlenmiştir:

  • major — özelliği kullanan çoğu betiği etkiler; kodu taşımanız gerekecek.

  • minor — dar kapsamlı API; yalnızca onu kullanan betikleri etkiler.

Değişiklikler bu sırada etkiye göre gruplandırılmıştır. Yalnızca kodunuzu taşımak istiyorsanız sonundaki geçiş kontrol listesi bölümüne atlayın. Her commit hash’i GitHub’daki diff’ine bağlanır.

find_blobs() / find_markers() yeniden yazıldı (major)

image.find_blobs() / find_markers() renk tabanlı izleme için yeniden yazıldı: artık önceden bölütlenmiş bir görüntü üzerinde çalışmak yerine doğrudan renk eşikleri (ve isteğe bağlı bir filtre işlevi) iletiyorsunuz ve sonuç, iç içe geçmiş renk başına bir ağaç yerine 10 elemanlı nokta (blob) demetlerinden oluşan tek bir düz listedir (bir renk-kodu alanı ile). Renk izleme betiklerini renk eşikleri iletecek ve düz listeyi yineleyecek şekilde yeniden düzenleyin.

Commit’ler: d1ff36602, 16daeb83a

Bağımsız görüntü yöntemleri kaldırıldı (major)

image.threshold, image.centroid(), image.orientation_radians(), image.orientation_degrees() ve image.pixels() kaldırıldı. Ağırlık merkezi / yönelim / piksel sayısı verileri artık find_blobs() tarafından döndürülen nokta (blob) demetlerinin alanları olarak mevcuttur.

Commit’ler: 9e5d379c1

Imlib yöntem yeniden adlandırmaları (major)

Bazı görüntü yöntemleri yeniden adlandırıldı/yeniden düzenlendi: image.subimg()image.copy(), image.blit()image.replace() ve image.blend() diğer iki görüntü işlemiyle eşleşecek şekilde değiştirildi. image.scale() / scaled() / rainbow() yöntemleri kaldırıldı (rainbow FIR modülüne taşındı). Çağrıları yeni adlarla güncelleyin.

Commit’ler: b534dc6ff

find_eyes(), find_eye() olarak yeniden adlandırıldı (minor)

image.find_eyes(), image.find_eye() olarak yeniden adlandırıldı ve artık önceki gözler demeti yerine 2 elemanlı bir iris (x, y) demeti döndürüyor. Çağrıyı yeniden adlandırın ve dönüş işlemesini güncelleyin.

Commit’ler: 7a01a9bed

image.compress(), compressed() olarak yeniden adlandırıldı (minor)

image.compress() (yeni bir JPEG görüntüsü döndüren), image.compressed() olarak yeniden adlandırıldı; yeni image.compress() ise görüntüyü yerinde sıkıştırır ve None döndürür. image.save() ayrıca bir quality= anahtar sözcüğü kazandı ve artık True yerine None döndürüyor. img.compress(q) çağrısını (döndürülen bir görüntü bekleyen) img.compressed(quality=q) olarak taşıyın.

Commit’ler: 367e5fdd3

Geçiş kontrol listesi

v1.4.0’a temiz bir geçiş için tipik iş şudur:

  1. Renk izleme kodunu find_blobs() / find_markers() işlevlerine renk eşikleri iletecek ve düz nokta (blob) demeti listesini yineleyecek şekilde yeniden düzenleyin (find_blobs yeniden yazımı).

  2. Ağırlık merkezi / yönelim / piksel verilerini kaldırılan bağımsız yöntemler yerine nokta (blob) demetlerinden okuyun (kaldırılan görüntü yöntemleri).

  3. subimgcopy, blitreplace olarak yeniden adlandırın, blend() çağrılarını düzeltin ve scale / scaled / rainbow öğelerini değiştirin (imlib yeniden adlandırmaları).

  4. find_eyes()find_eye() (find_eye yeniden adlandırması) ve compress()compressed() (compress yeniden adlandırması) olarak yeniden adlandırın.

Diğer tüm betikler değişmeden çalışır.