Bilgisayarla görüye başlarken

Kurulum veya Kurulum

Bilgisayar görüşünün kurulması veya yüklenmesiyle ilgili ayrıntılı talimatlar.

Bu ve sonraki bilgisayarlı görü serisi için programlama dili olarak Python 2 kullanacağım. Python, bilim camiası için ortak bir seçimdir, ücretsizdir, ücretsiz ve açık kaynaklı birçok kütüphaneye sahiptir ve programlama konusunda yeniyseniz, öğrenmesi ve programlamaya başlaması en basitlerinden biridir.

Şimdi kurulum, Linux kullanıyorsanız muhtemelen zaten python’unuz var, sadece terminali açın ve her şeyin zaten çalışıp çalışmadığını kontrol etmek için ‘python’ yazın. diğerleri, bu bağlantıyı kontrol edebilir ve python 2.7’yi indirebilir.

İkinci olarak kaynak kodda kullanacağımız kütüphaneleri kurmamız gerekecek. Şimdi, burada bir not, bu kurulum bu örnek için tasarlanmıştır, daha sonraki aşamalarda farklı kütüphaneler ekleyeceğiz ve elbette farklı bilgisayarlı görü uygulamaları OpenCV gibi belirli kütüphaneler gerektirebilir. Kodu çalıştırmak için sistemimizde kurulacak sadece bir kütüphaneye ihtiyacımız olacak. Python kullanırken genellikle ‘pip’ kullanarak bağımlılıkları kurarım. Python modüllerini kurmak için basit bir araçtır, bu link üzerinden de kontrol edebilirsiniz.

Artık ihtiyacımız olan PyPNG kütüphanesini kurmaya hazırız. pip kullanıyorsanız tek yapman gereken

PyPNG’yi pip yükleyin

Linux/Mac kullanıyorsanız terminalde, Windows kullanıyorsanız komut satırında.

Ayrıca bu alıştırmalar için kaynak kodu ve ipython defterlerinin yanında github linkinde bulunabilecek görselleri de edinmeniz gerekiyor.

https://github.com/Skorkmaz88/compvis101

Şimdi, egzersiz yapmak için iyi olmalıyız

Örnekler

Bu, bu konuları küçük pratiklerle tanıtmak için tasarlanmış, çok basit bir görüntü işleme ve bilgisayarla görme Python egzersiz serisidir. Çaylak hataları için şimdiden özür dilerim, hala geliştirme aşamasındadır. Bu seride, basitlik adına kullanabileceğimiz dijital görüntüleri PNG dosyalarıyla sınırlayacağım ve görüntü sıkıştırma konusunu da tartışacağım.

Henüz yapmadıysanız lütfen depoyu klonlayın veya Github aracılığıyla buradan indirebilirsiniz:

git clone https://github.com/Skorkmaz88/compvis101

Kullanabileceğiniz iki dosya var, bunlardan biri tutorial0.py ve diğeri readImages.ipynb, ikincisi bir ipython notebook, kullanmayı tercih ederseniz bunu yapabilirsiniz. Ancak iki dosya aynı şeyi yapıyor.

Kodun yorumlarda açıklamaları var, ben


# kitaplık
png'yi içe aktar

# Metnimizde anlatıldığı gibi gri tonlamalı bir resim oluşturuyoruz.
# Bunu basitçe yapmak için python'da 2 boyutlu bir dizi oluşturuyoruz.
# x ve y, x yatay ve y dikey yönlerdir.

x = []
y = []
# Farklı gri tonlamalı görüntüler elde etmek için bu piksel değerleriyle oynayın.
# 0 - 255 aralığında.
beyaz = 255
gri = 128
siyah = 0
genişlik = 100
yükseklik = 300

# 100 x 100 dikdörtgeni yalnızca beyaz(255) değerli pikseller olarak ekleyin
i aralığında (0, 100):
    for j in range(0,100):
        y.append(white); # Pixel (i,j) is being set to a value, rest is coding trick to nest two lists 
    x.append(y)
    y = []
    
# 100 x 100 dikdörtgeni yalnızca orta gri (128) değerli piksel olarak ekleyin
i aralığında (0, 100):
    for j in range(0,100):
        y.append(gray);
    x.append(y)
    y = []

# 100 x 100 dikdörtgeni yalnızca siyah(0) değerli pikseller olarak ekleyin
i aralığında (0, 100):
    for j in range(0,100):
        y.append(black);
    x.append(y)
    y = []

# çıktı görüntü dosyası
f = open('out.png', 'wb')
w = png.Writer(genişlik, yükseklik , gri tonlama=Doğru, bitdepth=8)
w.yaz(f, x)
f.kapat()
# Her şey yolunda gittiyse, beyaz, gri ve siyah dikey olarak hizalanmış 3 dikdörtgeniniz olmalıdır.
# Çalışma klasörünüzü kontrol edin

# BÖLÜM 2
# Gri tonlamalı bir görüntüyü okuyun ve ikiliye dönüştürün

# Bu sefer gri tonlamalı bir görüntüyü ikili hale getireceğiz, bunun için pikselleri okuyacağız ve belirlediğimiz eşiğe göre
# o pikselin beyaz mı siyah mı olacağına biz karar vereceğiz

# Bu dosya orijinal olarak 8 bit png resmidir, github deposunda bulunabilir, yalnızca bu tür
# Görüntüyü değiştirmek isterseniz görüntü.
f = açık('./img/lenaG.png', 'r')

r=png.Okuyucu(dosya=f)
# Görüntü ile ilgili detayları göreceksiniz, şimdilik sadece boyut ve bit derinliğine dikkat edin.
img = r.oku()

genişlik = img[0]
yükseklik = img[1]
# Görüntüleri ikili hale getirmek için eşik değeri,
eşik = 128
print "Giriş resmi boyutu: "+ str(genişlik)+ " piksel genişlik olarak, " + str(yükseklik) + " piksel yükseklik olarak"

f_out = open('lenaBinary.png', 'wb')
w = png.Writer(genişlik, yükseklik , gri tonlama=Doğru, bitdepth=1)

piksel = img[2]
 
x = []
y = []

# Lena imajını geçelim
piksel cinsinden satır için:
    for pixel in row:
        p_value =  pixel
        # Now here we binarize image in pixel level
        if p_value > threshold:
            p_value = 1
        else:
            p_value = 0
            
        y.append(p_value);
    x.append(y)
    y = []

w.write(f_out, x)
f_out.close()

Her şey yolunda gittiyse, tebrikler! Sıfırdan bir görüntü oluşturdunuz ve mevcut bir görüntü üzerinde ilk piksel düzeyinde dönüşüm gerçekleştirdiniz. Yeni görüntüleri görmek için çalışma klasörünüzü kontrol edin