2013-04-23 31 views
12

Gibt es irgendeine Funktion im OpenCV-Python-Wrapper, die das Gleiche tut wie Mat's convertTo-Methode in OpenCV 2?python - OpenCV mat :: convertTo in python

Ich möchte im Grunde in Python, diese Funktion aufzurufen

out.convertTo(out, CV_32F, 1.0/255, 0); 

wo aus ein Graustufenbild ist.

Ich habe bereits cv.ConvertScale verwendet, indem ich mein dst-Argument als Typ CV_32FC1 behalte, aber ich versuche, meinen Python-Code so cv2-konform wie möglich zu halten. Irgendwelche Hinweise?

Antwort

12

Sie können einfach Numpy-Funktionen dafür verwenden.

zB:

res = np.float32(out) 

Skalierung, werden wir Sie zu tun haben:

res = res*scaling_factor 
+1

Sind die Numpy-Funktionen so schnell wie die opencv convertTo? – user391339

+2

Es tut mir leid, ich habe ihre Leistung nicht überprüft. –

+2

Sie können es nicht einfach verwenden, da es Überläufe nicht auflöst, wie .convertTo tut –

6

Wenn Sie den Datentyp nicht versuchen, zu konvertieren, verwenden Sie diese:

cv2.convertScaleAbs(image, result, alpha, beta) 

wo Alpha ist Sie Maßstabsfaktor und Beta ist ein Verschiebung Wert. More details in the OpenCV docs.