¿Desea encontrar dos áreas distintas en la imagen que tengan el mismo aspecto (la misma textura) o una textura en una imagen con otra? El segundo es más difícil debido a la diferente radiometría.
Aquí hay un esquema básico de cómo medir la similitud de áreas.
- Escribe una función que, como entrada, obtiene un área en la imagen y calcula el valor escalar. Como el brillo promedio. Este escalar se llama una función
- Usted escribe más de esas funciones para obtener aproximadamente 8 - 30 características. que forman un vector que codifica información sobre el área en la imagen
- Calcula dicho vector para ambas áreas que quieras comparar
- Define la función de similitud que toma dos vectores y muestra cuánto se parecen.
es necesario centrarse en los pasos 2 y 4.
Paso 2 .: Uso las siguientes características: STD() de brillo, una especie de detector de esquina, filtra entropía, histograma de orientación de los bordes, histograma de frecuencias FFT (direcciones xey). Usa información de color si está disponible.
Paso 4. Puede usar similitud de coseno, min-max o coseno ponderado.
Después de implementar aproximadamente 4-6 de tales características y una función de similitud, comience a ejecutar las pruebas. Mire los resultados y trate de entender por qué o dónde no funciona. A continuación, agregue una función específica para cubrir ese tema. Por ejemplo, si ve que la textura con grandes blobs se considera similar a la textura con pequeños blobs, agregue la densidad calculada del filtro morfológico de los objetos con un tamaño> 20sq pixels.
Itere aproximadamente 5 veces el proceso de identificación de la característica específica del diseño del problema y comenzará a obtener muy buenos resultados.
Gracias esto parece más ligero que la implementación de todas las medidas de textura GLCM en OpenCV. ¿Podría proporcionarnos más información sobre el histograma de FFT, quizás enlaces? Los otros son geniales – AruniRC
¿Qué es "histograma de FFT"? ¿Tiene sentido construir un histograma sobre la transformada de Fourier? Puede ser simplemente elegir de FT algún rango de frecuencia relevante para la noción de textura y usar este rango como una característica de textura – Andrey
Por histograma de FFT me refiero a primero aplicar FFT y luego usar alguna información como características. Usar cada frecuencia como featurer produce demasiada información innecesaria. De modo que puede elegir las siguientes características: relación de suma de alta frecuencia en dirección X dividida por dirección y, relación de altas frecuencias dividida por bajas frecuencias (causion: nunca use frecuencia DC), etc. – DanielHsH