2013-04-23 20 views
12

Esiste qualche funzione nel wrapper python OpenCV che fa la stessa cosa del metodo convertTo di Mat in OpenCV 2?python - OpenCV mat :: convertTo in python

Io fondamentalmente voglio chiamare questa funzione in pitone

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

dove fuori è un'immagine in scala di grigi.

Ho già utilizzato cv.ConvertScale mantenendo il mio argomento dst come tipo CV_32FC1, ma sto cercando di mantenere il mio codice Python come conforme cv2 possibile. Qualche indizio?

risposta

12

Per questo è sufficiente utilizzare le funzioni Numpy.

esempio:

res = np.float32(out) 

scala, si dovrà fare a parte:

res = res*scaling_factor 
+1

Le funzioni di Numpy sono veloci quanto la conversione di opencv? – user391339

+2

Mi dispiace, non ho controllato le loro prestazioni. –

+2

non è possibile utilizzarlo solo perché non risolve gli overflow come .convertTo fa –

6

Se non si sta tentando di convertire il tipo di dati, utilizzare questo:

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

dove alpha è il tuo fattore di scala e beta è un valore di spostamento. More details in the OpenCV docs.