2016-04-06 30 views
0

Bazı görüntüleri sinir ağından çalıştırmak istiyorum ve veri için bir .csv dosyası oluşturmak istiyorum. Görüntüleri temsil edecek ve her bir görüntüyü ayrı tutacak bir csv nasıl oluşturabilirim?Birden çok görüntüyü csv'ye nasıl dönüştürebilirim?

+0

Yapay ağ bir tür model değil mi? Bir modelden görüntüleri nasıl çalıştırıyorsunuz, bazı örnekleriniz var mı? Ayrıca, sütun başlıklarının ve csv'nin ilk birkaç satırının neye benzediğini beklediğinizin örnekleri. – user454038

cevap

0

Yaklaşmanın bir yolu, görüntüyü diziye dönüştürmek için numpy kullanmaktır; bu, daha sonra bir CSV dosyasına veya yalnızca virgülle ayrılmış bir listeye dönüştürülebilir.

Csv verileri manipüle edilebilir veya gerektiğinde orijinal görüntü alınabilir.

Yukarıdaki kavramı gösteren temel bir kod.

import Image 
import numpy as np 

#Function to convert image to array or list 
def loadImage (inFileName, outType) : 
    img = Image.open(inFileName) 
    img.load() 
    data = np.asarray(img, dtype="int32") 
    if outType == "anArray": 
     return data 
    if outType == "aList": 
     return list(data) 


#Load image to array 
myArray1 = loadImage("bug.png", "anArray") 

#Load image to a list 
myList1 = loadImage("bug.png", "aList") 
0

Resminizi Base64 kodlu olarak kodlayabilir ve hala virgüllerin Base64'deki karakterlerin bir parçası olmadığından CSV'yi kullanabilirsiniz.

bakınız: Best way to separate two base64 strings

+0

Bu, sinir ağına giriş olarak bir anlam ifade etmiyor. – Amadan

+0

Ağ, her iki şekilde de CSV girişini deşifre etmek zorunda olduğundan, formatın önemi yoktur. Base64 sadece bir piksel vektörü/matrisinin üzerine yer kazandırır. Bununla birlikte, CSV'den daha iyi seçeneklerin olduğu, bazılarının daha hızlı serileştirme ve daha iyi takımlara sahip olacağı doğru. – fandrianto

+0

Oh, şimdi ne demek istediğini görüyorum. OP'nin halihazırda CSV'yi (örneğin, giriş için CSV'yi okuyan, önceden var olan bir NN aracı) kullanmak için bazı nedenleri olduğunu varsaydım. Burada, temel base64 kodlu dizgenin okunması alışılmadık bir eğitim örneği olacaktır (base64: p kodunu çözmek için bir ağ eğitimmiyorsanız). – Amadan

0

Mümkünse, sadece görüntüler için bir depolama konumu oluşturmak. Resimlerinizde benzersiz dosya adları varsa, izlemeniz gereken tek şey dosya adıdır. Benzersiz bir dosya adı yoksa, fotoğrafı adlandırmak için bir zaman damgası + randomizer işlevi kullanarak bir tane atayabilirsiniz. Adlandırıldıktan sonra, uygun görüntüye başvurmak için gereken tek şey dosya isminin doğru yerde saklanması gerekir. Boyut kısıtlamaları nedeniyle, gerçek görüntüleri csv'de saklamanızı önermem. Şerefe!

0

Bu, hangi algoritmanın ve hangi uygulamanın seçildiğine bağlı olarak çok şey gerektirir. CSV'nin doğru seçim olduğu bile net değil.

Belirtilen gereksinimleriniz için, Netpbm format akla gelir; Eğer görüntü başına bir çizgiye sahip olmak istiyorsanız, tüm sayıları tek bir çizgide kırpın. Saf sinir ağının görüntünün topolojisini görmezden geleceğine dikkat edin, onu eklemek için biraz gelişmiş kurulum gerekir.

İlgili konular