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ı (subimg → copy, blit → replace, find_eyes → find_eye, compress → compressed). 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) izleme —
find_blobs()renk eşiklerini doğrudan alır ve düz bir nokta (blob) demeti listesi döndürür.Imlib temizliği —
subimg()→copy(),blit()→replace(),find_eyes()→find_eye(),compress()→compressed().Sensör —
sensor.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ör —
sensor.get_fb()(son anlık görüntü çerçeve arabelleğini (frame buffer) alma),sensor.set_gain_ctrl(enable)(AGC açma-kapama) vesensor.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 birimage.compress()ve JPEG işlevlerinde birquality=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.DACbaşlatıldı, böylece DAC çalışıyor (#121), bozuk birimage.dilate(), WINCclient.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ı, termopilTo_min/To_maxhesaplaması (#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.
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:
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ı).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).
subimg→copy,blit→replaceolarak yeniden adlandırın,blend()çağrılarını düzeltin vescale/scaled/rainbowöğelerini değiştirin (imlib yeniden adlandırmaları).find_eyes()→find_eye()(find_eye yeniden adlandırması) vecompress()→compressed()(compress yeniden adlandırması) olarak yeniden adlandırın.
Diğer tüm betikler değişmeden çalışır.