2012-01-16 20 views
5

Necesito detectar el eje xy el eje y en un diagrama. Las bibliotecas existentes para PHP no pueden detectar las líneas, ya que este proceso requiere el método Hough Transform (corríjanme si estoy equivocado). ¿Hay alguna manera de detectar los ejes con/sin Hough Transform usando PHP?Hough Transform con PHP

un ejemplo para el diagrama: enter image description here

+0

Creo que es probable que estés va a ser difícil hacerlo usando PHP de forma nativa. Te recomiendo que eches un vistazo al uso de OpenCV si es posible: http://opencv.willowgarage.com/wiki/. Estaría dispuesto a hacerlo si hubiera una forma mejor. –

+0

Si los ejes siempre forman un ángulo recto y siguen las direcciones xey de una imagen, puede que no sea del todo difícil de cumplir. Incluso un proceso simple como contar los píxeles verticales y horizontales podría ser suficiente para encontrar estos ejes. Además, si este no es el caso, una transformada de hough podría incluso ser bastante rápida, si sabe que la imagen nunca volverá más de +/- 10 °, porque puede disminuir el bucle del ángulo. – JohannesB

Respuesta

3

Creo que si el objetivo es la detección del eje solamente, un enfoque más sencillo sería el uso de operaciones morfológicas (usando la transformada de Hough podría ser muy exigente computacionalmente, y posiblemente wouldn No trabajas con tanto "ruido"). Prefiero usar GNU octave para hacer las operaciones de procesamiento de imágenes, que servir los resultados a través de una interfaz php.

código posible de partida podría ser (por ejemplo, para detectar el origen y los valores máximos - mínimos filtro para x, x máxima, mínima y máxima, y ​​para obtener las esquinas):

I = rgb2gray(imread('iEth9.jpg')); 
I = I < 11; 
A = imopen(I, ones(1,100)'); 
B = imopen(I, ones(1,100)); 
imagesc(I);hold on; 
[y,x] = find(A&B); 
plot(x,y,'ro'); 
+1

No puedo cargar imágenes debido a algún error en mi conexión a Internet, pero aquí está el resultado de mi ejemplo (disculpe la calidad) http://img268.imageshack.us/img268/272/examplefg.jpg – WebMonster

+0

WebMonster, gracias ! También ejecutaré tu script. Es posible que tenga algunas preguntas más. – amertkara

+1

Gnu octave sigue dando el siguiente mensaje: "error: rgb2gray: la entrada debe ser una imagen RGB o un mapa de color". ¿Cómo puedo convertir la imagen actual a formato rgb? – amertkara