2

Die Quelle BeschreibungVerständnis load_image() -Methode in pycaffe

Load an image converting from grayscale or alpha as needed. 

Parameters 
---------- 
filename : string 
color : boolean 
    flag for color format. True (default) loads as RGB while False 
    loads as intensity (if image is already grayscale). 

Returns 
------- 
image : an image with type np.float32 in range [0, 1] 
    of size (H x W x 3) in RGB or 
    of size (H x W x 1) in grayscale. 

Und dies ist ein Beispiel dafür, wie man es benutzt

input_image = 255 * caffe.io.load_image(IMAGE_FILE) 

Meine Frage ist, ob die IMAGE_FILE ist RGB-Farbe mit jedem Kanal 0 -255 Werte und der Rückgabewert caffe.io.load_image(IMAGE_FILE) liegt im Bereich [0,1], multipliziert mit 255, der Bereich jedes Kanals ist immer noch 0-255.

Also, was ist der Punkt, um diesen Schritt zu tun?

Antwort

1

Die Gründe für das Lesen eines Bildes Art in Bereich [0..1] zu schweben, sind:

  1. Einige Modelle die Eingabe zurück zu [0..255], nicht maßstäblich, sondern die Eingabe verarbeiten im Bereich [0..1].
  2. Es ist ziemlich üblich, wenn Bilder verarbeitet werden, um die Pixelwerte auf [0..1] zu skalieren, wenn der Bilddatentyp von uint zum Fließkommawert konvertiert wird (siehe z. B. Matlabs im2double, im2single).
  3. Einige Bildformate haben Daten im Bereich [0..65536] (2 Bytes/Pixel), in solchen Fällen ist es praktisch, den Bereich zu fixieren und nur mit der Skala zu spielen.
+1

Danke, es macht jetzt mehr Sinn für mich. –