Sto tentando di applicare la funzione Threshold
di Opencv a una matrice numpy. Sto usando i collegamenti Python per opencv 2.1. Va in questo modo:Applicare la soglia di apertura a una serie numpy
import cv
import numpy as np
a = np.random.rand(1024,768)
cv.Threshold(a,a,0.5,1,cv.CV_THRESH_BINARY)
e questo genera un errore:
OpenCV Error: Unsupported format or combination of formats() in threshold
Quindi, io non sono convinto io so quello che sto facendo, ma speravo Threshold
funzionerebbe come, per esempio, Smooth
, in cui posso eseguire
cv.Smooth(a,a)
senza problemi, e finire con un'immagine liscio (ER). Non sono sicuro di come pensare ai "formati" di array numpy come li vedono opencv, ma sono dispiaciuto di convertire la matrice numpy in un formato immagine opencv se non devo (e tutti i miei tentativi sono falliti così lontano comunque).
Mi piacerebbe sapere perché Threshold
non funziona nel modo ovviamente ingenuo che sto cercando di farlo funzionare, e sarebbe bello sapere cosa dovrei fare invece.
P.S. So che potrei eseguire un'operazione di soglia sull'array numpy, ma sto cercando di capire come funziona.