Quiero convertir cv::Mat a openMVG::Image.
¿Hay un openMVG::Image.getMat() no constante que pueda usar en:
cv::cv2eigen(cv::Mat, openMVG::Image.something())
EDITAR: para dar un poco más de información, la fuente de la imagen en mi programa es un OpenFrameworks ofImage, que puedo convertir a cv::Mat u obtener la matriz de píxeles sin firmar directamente.
Entonces, básicamente, lo que estoy buscando es una interfaz interna (no de un archivo) para configurar imágenes openMVG
Hola @itsdsk
Lo siguiente debe funcionar
cv::Mat image_cv;
image_cv = cv::imread( sView_filename, CV_LOAD_IMAGE_GRAYSCALE );
Image<uint8_t> image_openmvg;
cv::cv2eigen(image_cv, *(Image<uint8_t>::Base*)&image_openmvg);
¡Gracias! Funcionó exactamente como dijiste con una función de cambio de tamaño, nunca lo habría descubierto por mí mismo
cv::Mat cv_image;
....
Image<uint8_t> mvg_image;
mvg_image.resize(cv_image.cols, cv_image.rows);
cv::cv2eigen(cv_image, *(Image<uint8_t>::Base*)&mvg_image);
Cierre el problema si no tiene otros puntos para comentar.
Solo digo lo obvio, pero para que eso funcione, el objeto cv::Mat
debe tener CV_8UC1
como su tipo escalar.
¿Qué pasa si quiero usarlo con una imagen RGB?
@a-mohsen
Abra un nuevo problema ya que el hilo que abrió tiene más de 1 año y su pregunta no está directamente relacionada con este problema (y puede ser interesante para la comunidad).
Comentario más útil
¡Gracias! Funcionó exactamente como dijiste con una función de cambio de tamaño, nunca lo habría descubierto por mí mismo