Estoy usando opencv 2.1. En mi código tengo unas pocas imágenes almacenadas como objetos Mat inicializados como esto:Cómo superponer texto en la imagen cuando se trabaja con cv :: Mat type
Mat img1 = imread("img/stuff.pgm", CV_LOAD_IMAGE_GRAYSCALE);
puedo mostrar de forma adecuada mediante imshow() después de mis operaciones con matrices se hacen. Ahora quiero agregar algo de texto en la imagen para describir lo que sucedió. Mirando la documentación, parece que cvPutText()
sería la función que necesito. Pero cuando intento algo como esto:
cvPutText(result, "Differencing the two images.", cvPoint(30,30), &font, GREEN);
me sale el siguiente error de compilación: error: cannot convert ‘cv::Mat’ to ‘CvArr*’ for argument ‘1’ to ‘void cvPutText(CvArr*, const char*, CvPoint, const CvFont*, CvScalar)’
¿Qué tengo que hacer para ser capaz de añadir un poco de texto cuando se muestra esta imagen?
Desafortunadamente, esto solo funciona para caracteres ASCII ... Si alguien tiene una mejor solución, ¡la tomaré! –
@ Eliyahu-Shmuel es 'putText' no 'PutText'. Lo uso como 'cv :: putText' – nmante
No me imprime nada en mi imagen. mi código: Mat fre = imread ("1.jpg", 0); \t putText (fre, "Diferenciando las dos imágenes.", CvPoint (30, 30), \t \t FONT_HERSHEY_COMPLEX_SMALL, 0.8, cvScalar (200, 200, 250), 1, CV_AA); –