2016-11-23 1 views
1

Ich verwende die folgende Funktion, um die Größe eines Bildsatzes mit der Form (samples, 1, image_row, image_column) zu ändern. Ich benutze die Bibliothek.Verlust von Informationen nach der Größenänderung des Bildes mit skimage Python-Bibliothek

from skimage import io 
from skimage.transform import resize 
def preprocess(imgs): 
imgs_p = np.ndarray((imgs.shape[0], imgs.shape[1], img_rows, img_cols), dtype=np.uint8) 
for i in range(imgs.shape[0]): 
    imgs_p[i, 0] = resize(imgs[i, 0], (img_rows, img_cols)) 
return imgs_p 

Allerdings bemerkte ich, dass die Größe der Bilder in der Größe 0-1 Array wird. Hier sind einige Testergebnisse. Wir können sehen, dass das Bild in der Größe nur aus 0-1 besteht. Ich bin mir nicht sicher, was mit meiner Größenänderungsfunktion nicht stimmt.

print(image[0,0].shape) 

    (420, 580) 
    print(image[0,0]) 
[[ 0 155 152 ..., 87 91 90] 
    [ 0 255 255 ..., 140 141 141] 
    [ 0 255 255 ..., 157 156 158] 
    ..., 
    [ 0 77 63 ..., 137 133 122] 
    [ 0 77 63 ..., 139 136 127] 
    [ 0 77 64 ..., 149 144 137]] 

    print(resized_image[0,0].shape) 
    (96, 128) 
    print(resized_image[0,0]) 
    [[1 1 0 ..., 0 0 0] 
    [0 0 0 ..., 0 0 0] 
    [0 0 0 ..., 0 0 0] 
    ..., 
    [0 0 0 ..., 0 0 0] 
    [0 0 0 ..., 0 0 0] 
    [0 0 0 ..., 0 0 0]] 

Antwort

0

Ihre Bilder werden bei der Größenanpassung in Gleitkommawerte umgewandelt. Es gibt ein optionales boolesches Flag, das transform.resize() dauert: preserve_range. Vom source code

preserve_range: Bool, optional. Ob der ursprüngliche Wertebereich beibehalten werden soll. Andernfalls wird das Eingangsbild gemäß den Konventionen von img_as_float konvertiert.

Setzen Sie dies auf True und es sollte Ihr Problem beheben.

0

Der Ausgang des resize hat eine dtype des Schwimmers, daher ist es in dem Bereich 0-1.

from skimage import img_as_ubyte 
image = img_as_ubyte(image) 

Bitte beachten Sie die user guide für eine vollständige Beschreibung der Datentypen und ihre Bereiche: Sie können Ihr Bild zurück zu uint8 Bereich mit konvertieren.

Verwandte Themen