Closed jmbuena closed 4 years ago
Estoy teniendo problemas al trabajar con la clase ChannelsExtractorGradHist.
No consigo obtener los mismos resultados con Matlab y con c++. He probado a poner los mismos parámetros ( H = gradientHist( M, O, [binSize,nOrients,softBin,useHog,clipHog,full] ) ) en ambos casos y siempre da diferentes resultados.
Revisando el código, he visto que cuando llama a la funcion gradHist antes llama a esta funcion:
pl[0] = mxCreateMatrix3(hb,wb,nChns,mxSINGLE_CLASS,1,(void**)&H);
en la que se modifica la H, pero esa función la hace el para cuando vienen los datos de matlab.
Voy a seguir mirando a ver si encuentro el problema / solución, pero no veo que mas puede estar pasando o como resolverlo.
Es el ultimo paso que queda para tener chnsCompute terminado, ya que los anteriores problemas están solucionados.
Muchas gracias.
Primeras pruebas de chnsCompute realizadas. El problema principal era que la orientación del gradiente variaba en una parte para este caso, al arreglarlo los test continuaban saliendo bien y ya se obtiene la misma M,O,H y la imagen LUV igual que en matlab.
¡Fenomenal!
Ya tenemos la extracción de canales de gradiente funcionando.
Aquí añadiríamos lo que se hace en el siguiente código Matlab de chnsCompute.m:
Así que necesitaríamos llamar a gradientHist.m que a su vez llama a gradientMex.cpp.