¿Qué biblioteca es mejor en una operación de matriz dispersa, OpenCV o Eigen?

Bien, recién completado o al menos antes de la depuración, de todos modos, el trabajo implica la conversión de Eigen SparseMatrix a OpenCV SparseMat.

Si no necesita material de imagen OpenCV, es mejor usar Eigen. Las operaciones individuales de Eigen Sparse Matrix son más rápidas PERO reservar espacio para Eigen Sparse Matrix ocupa una cantidad masiva de tiempo.

SparseMat de OpenCV no tiene el equivalente de la operación de reserva y las operaciones individuales son notablemente más lentas. En mi caso, convertí mi Eigen Sparse Matrix a OpenCV SparseMat porque uso OpenCV ampliamente.

En segundo lugar, la forma en que Eigen maneja las operaciones matriciales sigue de cerca el formato del álgebra matricial. No es así para OpenCV. La biblioteca es principalmente llamadas de función nulas, por lo que las matrices src y dest deben pasarse como parámetros.

Es difícil decir cuál es mejor, pero hasta ahora, tengo la opinión de que si necesito usar la biblioteca OpenCV u otras llamadas de biblioteca específicas de la aplicación OpenCV, probablemente prefiera usar Eigen. Pero si el problema pudiera resolverse solo en Eigen, entonces lo resolvería.

Puede descubrirlo usted mismo ejecutando puntos de referencia. Espero que estos dependan mucho del entorno utilizado, por lo que si necesita la mejor solución, diviértase ejecutando puntos de referencia.

De lo contrario, un vistazo rápido sugiere que la licencia de cv abierto sea más comprensiva.