Obtenga el histograma de las longitudes / orientaciones de los bordes en una imagen con OpenCV

7

En el proceso de tratar de estimar si un ROI contiene texto [japonés], necesito obtener un recuento aproximado de bordes, con suerte agrupados por longitud y / u orientación ... Creo que esto me daría características lo suficientemente fuertes para juzgar si es probable que el ROI contenga texto o no.

Sin embargo, parece que no puedo encontrar una manera eficiente (esto eventualmente tiene que funcionar en una transmisión de video) para obtener dicho histograma (o incluso solo un recuento de bordes para cierto umbral de longitud / orientación): las transformaciones de Hough tenderán a enfóquese en ciertas formas (líneas, etc.) mientras que Canny y Sobel detectarán cualquier tipo, pero su salida no es particularmente útil para contar ...

Agradecería cualquier sugerencia o sugerencia sobre algún algoritmo que pueda usar, para extraer rápidamente una lista de bordes de una imagen ...

Dave
fuente

Respuestas:

3

No sé si OpenCV tiene alguna implementación, pero puedo proporcionarle un puntero de algoritmo para esto.

MPEG 7 proporciona un descriptor de histograma de borde [EHD] bastante bien definido (y bien pensado) que esencialmente sirve para su propósito.

Puede referirse a esto: Uso eficiente del descriptor de histograma de borde MPEG-7, que creo que es un excelente artículo sobre esto.

Si desea ver alguna implementación de MPEG-7, puede encontrarla en la página JOANNEUM RESEARCH MPEG 7 .

Para obtener más información sobre MPEG-7: Lista de posibles características de imagen para la recuperación de imágenes basada en contenido

Dipan Mehta
fuente
Gracias por la respuesta. Aunque no es exactamente lo que necesito (el algoritmo MPEG7 solo da contenedores de bordes para un área pequeña de la pantalla, ya que se basa en una subdivisión bastante simple de cada área), está lo suficientemente cerca, así que lo aceptaré. .
David
Por cierto, resultó que el algoritmo exacto se describió (con más detalles que los documentos anteriores) en SO: stackoverflow.com/questions/909542/opencv-edge-extraction
Dave