Armazenar detalhes de uma imagem binária que consiste em polígonos simples

Esta questão está relacionada à prática e ao processo baseado em experiências. Eu tenho uma imagem binária Mat que consiste em polígonos simples de cor branca em um fundo preto. Na verdade, esses polígonos representam um artigo em uma página de jornal. Então, o que eu quero é armazenar os detalhes da localização do artigo dentro da página do jornal. A imagem One Mat possui apenas um polígono. Então, uma opção é

Use chamadas OpenCV puras para armazenar Mat em um arquivo .xml ou .yml (Como gravar um tapete flutuante em um arquivo no OpenCV : resposta aceita)Encontre as coordenadas do polígono onde existem vértices e armazene apenas essas coordenadas no banco de dados

A seguir, uma imagem de amostra de um tapete que vou armazenar.

A primeira opção parece possível, mas não sei como implementar a segunda abordagem. Se possível, seria mais eficiente, como eu acho, porque haveria poucas coordenadas a serem salvas para cada artigo. Posso implementar um procedimento complexo para encontrar os vértices para isso e também redesenhar a imagem Mat usando essas coordenadas quando necessário. Mas espero que exista um processo simples em aberto para esta tarefa.

Então, o que eu quero saber é qual abordagem é melhor e se a segunda é melhor, como fazer isso em opencv com c ++. Não sou especialista em opencv nem especialista em c ++, portanto, uma resposta apropriada me pouparia muitas horas e também a eficiência do programa.

questionAnswers(4)

yourAnswerToTheQuestion