2017-06-28 2 views
0

Während PixelNet Ausbildung, ich habe tor das kommentierten Bildes der Größe neu (Label), die bestimmten Pixelwert hat, vor Ändern der Größe, die Bildpixel haben Werte (kommentierten Objekte) SPECIF, np.unique(image) gibt [ 0 7 15] jedoch i, wenn die Größe des Bildes mit OpenCV es meinem Netzwerk-Definition zu passen, reichen die Pixelwerte ändert, woOpenCV die Größe des Pixelwert-Änderungs

image = cv2.resize(image,(cnn_input_size, cnn_input_size),cv2.INTER_NEAREST) 

np.unique(bmask) [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17]

Thi gibt s ist eine Katastrophe für das Training von Bildern mit annotierter Beschriftung, da diese Werte für andere Klassen spezifiziert sind. Ich frage mich, ob dies das erwartete Verhalten von OpenCV während der Größenänderung ist.

+0

was hast du erwartet als Ergebnis? –

+0

@ A.Piro die gleichen Werte von Pixeln zu halten [0,7,15] – Eliethesaiyan

Antwort

1

Verwenden

image = cv2.resize(image, (cnn_input_size, cnn_input_size), interpolation = cv2.INTER_NEAREST) 

oder

image = cv2.resize(image, (cnn_input_size, cnn_input_size), 0, 0, cv2.INTER_NEAREST) 

Gerade jetzt sind Sie den Wert cv2.INTER_NEAREST für die Parameter mit fx (Skala x), und tatsächlich die Standard-Interpolationsmethode verwendet, die INTER_LINEAR ist.

+0

Ich habe versucht, beide ... geben die gleiche result..the ich die Null hinzugefügt, um zu sehen, ob es nicht eine Skalierung – Eliethesaiyan

+0

die Linie macht mit 'interpolation = cv2.INTER_NEAREST' sollte korrekt funktionieren. nicht sicher über das andere :) – Miki

+1

thx tatsächlich ... es funktioniert der Trick – Eliethesaiyan

Verwandte Themen