Almacenar detalles de una imagen binaria que consiste en polígonos simples

Esta pregunta se relaciona con la práctica y el proceso basado en experiencia. Tengo una imagen binaria Mat que consiste en polígonos simples de color blanco sobre fondo negro. En realidad, esos polígonos representan un artículo en la página de un periódico. Entonces, lo que quiero es almacenar los detalles de la ubicación del artículo dentro de la página del periódico. Una imagen de Mat tiene solo un polígono. Entonces, una opción es

Utilice llamadas puras de OpenCV para almacenar Mat en un archivo .xml o .yml (Cómo escribir una estera flotante en un archivo en OpenCV : respuesta aceptada)Encuentre las coordenadas del polígono donde hay vértices y almacene solo esas coordenadas en la base de datos

A continuación se muestra una imagen de muestra de un tapete que voy a almacenar.

La primera opción parece posible pero no sé cómo implementar el segundo enfoque. Si es posible, sería lo más eficiente como creo, porque entonces solo habría pocas coordenadas para guardar para cada artículo. Puedo implementar un procedimiento complejo para encontrar los vértices para eso y también para volver a dibujar la imagen Mat usando esas coordenadas cuando sea necesario. Pero espero que haya un proceso simple en opencv para esta tarea.

Entonces, lo que quiero saber es qué enfoque es mejor y si el segundo enfoque es mejor, cómo hacerlo en opencv con c ++. No soy un experto en opencv ni un experto en c ++, por lo que una respuesta adecuada me ahorraría muchas horas y también la eficiencia del programa.

Respuestas a la pregunta(4)

Su respuesta a la pregunta