2017-02-01 4 views
3

Ich habe festgestellt, TensorflowPython Paket bietet Standardverfahren für die Decodierung von jpeg, png und gif Bilder nach dem Lesen von Dateien. Zum Beispiel für png:Tensorflow Machine Learning: Kein Decoder für TIFF-Bilder?

import tensorflow as tf 
filename_queue = tf.train.string_input_producer(['/Image.png']) # list of files to read 
reader = tf.WholeFileReader()  
key, value = reader.read(filename_queue) 
decoded_image = tf.image.decode_png(value) # use png or jpg decoder based on your files. 

jedoch die tiff Format Decoder scheinen zu fehlen.

Welche Lösungen gibt es für tiff Dateien? Sicher könnte ich meine Eingabebilder in png konvertieren, aber das scheint keine sehr intelligente Lösung zu sein.

+0

Hallo, ich bin derzeit mit dem gleichen Problem konfrontiert. Welche Methode hast du am Ende benutzt? Schreiben Sie Ihren eigenen TIFF-Formatdecoder oder konvertieren Sie Ihre Dateien einfach in ein unterstütztes Format, z. PNG? Vielen Dank! – jlhw

+1

@jlhw Hallo, am Ende des Tages lade ich die Bilder selbst in Python (über Standard-Python-Bildbibliotheken) und füttere sie dann als Tensoren zu TensorFlow. Es hat den Vorteil, dass es einfach ist, die Bilder in Python vor dem eigentlichen Netzwerktraining mit numpy oder pillow vorzubehandeln. Meine Bilder sind groß, aber wenige, also muss ich sie nur einmal vorladen, und das ist kein Flaschenhals. Hoffe das hilft. –

Antwort

4

Richtig, es gibt keinen Decoder für TIFF-Bilder. Schauen Sie in tensorflow/core/kernels und Sie

decode_csv_op.cc 
decode_gif_op.cc 
decode_jpeg_op.cc 
decode_png_op.cc 
decode_raw_op.cc 

Keine decode_tiff_op.cc sehen. Dies könnte ein gutes Ziel für den Beitrag der Gemeinschaft sein.

+0

Danke. Das hat wahrscheinlich mit den vielen Standards zu tun, die das TIFF-Format unterstützt. Aber das ist auch der Grund, warum es so beliebt ist ... –