2012-10-10 57 views
5

Tengo un proyecto de detección de automóviles en OpenCV2.3.1 y visual C++.¿Cómo eliminamos el ruido de iluminación?

En la segmentación de primer plano, hay reflejos debido a la iluminación. Y esto (reflejos) pasa a formar parte del primer plano después de que se haya eliminado el fondo . enter image description here

Necesito sugerencias o ideas sobre cómo eliminar este ruido. Como hace que algunos objetos de primer plano se conecten como un solo objeto, como se ve al usar funciones findContours y drawContours. Vea las partes de la imagen resaltadas en rojo en la imagen adjunta. Creo que esto simplificará la etapa de detección de blobs.

* Nota - No estoy permitido el uso de una función de cvBlobLib en OpenCV

Respuesta

2

tal vez tratar de convertir la imagen a HSV luego filtrar alta V asciende

IplImage imgHSV = cvCreateImage(cvGetSize(imgInput), 8, 3); 
IplImage imgThreshold = cvCreateImage(cvGetSize(imgHSV), 8, 1); 
cvInRangeS(imgHSV, cvScalar(0, 0, 90, 0), cvScalar(0, 0, 100, 0), imgThreshold); 

escalares ..adjust según sea necesario para quitar brillo

+2

Identificar el brillo no es gran cosa, pero cómo llenar esa parte es una buena pregunta. –

4

El problema aquí es que parte de un resplandor puede ser de fondo o de un automóvil correspondiente.

Esto es lo que haría.

creo que no tendría un gran problema con identifying glare parts by binarizing and thresholding or in a similar way.

Una vez identificados todos los píxeles de miradas, me gustaría sustituir a cada uno de los píxeles de deslumbramiento con el más cercano de píxeles no-reflejo en la misma fila de la imagen. De esa manera, un resplandor se llenará de automóvil y fondo. Con este método, entonces usted podría detectar automóviles sin mucho problema.

+2

Supongo que lo que describes es una aplicación de un algoritmo de Inpatización. Creo que todavía no está disponible un algoritmo Inactivo para la versión publicada OpenCV, pero sé que están trabajando en ello. –

+0

Creo que el algoritmo no es tan difícil de implementar. –