2010-05-27 17 views
8

Tengo dos histogramas.Coincidencia de histograma - procesamiento de imágenes - c/C++

int Hist1[10] = {1,4,3,5,2,5,4,6,3,2}; 

int Hist1[10] = {1,4,3,15,12,15,4,6,3,2}; 

La distribución de Hist1 es del tipo multimodal;

La distribución de Hist2 es de tipo uni-modal con un solo pico destacado.

Mis preguntas son

  1. ¿Hay alguna manera de que yo pudiera determinar el tipo de distribución de programación?
  2. ¿Cómo se cuantifica si estos dos histogramas son similares/diferentes?

Gracias

+0

Puede encontrar esta pregunta útil http://stackoverflow.com/questions/2661402/r-given-a-set-of-random-numbers-drawn-from-a-continuous-univariate-distribution. Las respuestas, sin embargo, se refieren al entorno de programación R. –

Respuesta

1

Raj,

He publicado una función de C en su otra pregunta (automatically compare two series -Dissimilarity test) que va a calcular la divergencia entre dos conjuntos de datos similares. En realidad, tiene la intención de decirle cuán cerca los datos reales coinciden con los datos previstos, pero sospecho que podría utilizarlo para su propósito.

Básicamente, cuanto menor es el error, más similares son los dos conjuntos.

+0

Gracias. Lo probaré y te actualizaré – Raj

1

Estos son sólo conjeturas, pero me gustaría probar encajando cada distribución como una distribución gaussiana y usar algo como el valor R cuadrado para determinar si la distribución es unimodal o no.

En cuanto a la similitud entre las dos distribuciones, intentaría hacer un autocorrelation y usar el valor positivo máximo en la autocorrelación como medida de similitud. Estas ideas son bastante difíciles, pero espero que te den algunas ideas.

1

Para # 2, se puede calcular su cross-correlation (siempre y cuando los mismos cubos pueden ser ordenados). Eso le daría una estimación aproximada de qué "similitud".

0

Hay una variedad de paquetes de software que "ajustarán" sus distribuciones a distribuciones discretas conocidas para usted: Minitab, STATA, R, etc. Una referencia a las distribuciones de conexiones en R es here. No aconsejaría programar esto desde cero.

En cuanto a las comparaciones de distribución, si ninguna de las distribuciones se ajusta a una distribución conocida (Poisson, Binomial, etc.), entonces necesita utilizar métodos no paramétricos descritos here.

Cuestiones relacionadas