24. ecualización de histograma

1. Contenido principal

  • ¿Qué es un histograma?
  • Ecualización de histograma
  • Descripción de la API

2. ¿Qué es un histograma?

  • Ejemplo
    Suponga que hay datos de imagen 8x8, rango de valores de píxeles 0 ~ 14 un total de 15 niveles de gris, el número de ocurrencias y el histograma de cada nivel se obtienen estadísticamente como se muestra en
    Inserte la descripción de la imagen aquí
    la figura a continuación. El siguiente histograma se obtiene a partir del número de valores de píxeles
    Inserte la descripción de la imagen aquí
  • El histograma de la imagen se refiere al valor de frecuencia del valor de píxel (0-255) de toda la imagen en el rango de escala de grises. El histograma generado en consecuencia se llama histograma-histograma de imagen. El histograma refleja la distribución de la imagen en escala de grises. Es la característica estadística de la imagen.

3. Histograma de imagen (es un método para mejorar el contraste de la imagen, estirar el rango de valores de gris de la imagen)

  • Imagen original
    Inserte la descripción de la imagen aquí
  • El efecto después de la ecualización del histograma.
  • La ecualización de histograma es un método para mejorar el contraste de la imagen, estirar el rango de valores grises de la imagen
    Inserte la descripción de la imagen aquí

  • Cómo lograr la ecualización del histograma Cómo lograr, mediante la reasignación de la lección anterior, sabemos que podemos mapear la distribución gris de la imagen de una distribución a otra, y luego obtener el valor de píxel mapeado.
    Fórmula:
    Inserte la descripción de la imagen aquí
    Inserte la descripción de la imagen aquí

4. Descripción de la API

equalizeHist(
    InputArray src,//输入图像,必须是8-bit的单通道图像
    OutputArray dst// 输出结果
)

5. Código de demostración

#include<opencv2\opencv.hpp>
#include<iostream>

using namespace  std;
using namespace cv;

int main(int argc,char ** argv) {
	Mat src, dst;
	src = imread("G:\\opencvTests\\C2.png");
	if (src.empty())
	{
		cout << "Could not  find this photo" << endl;
		return -1;
	}
	namedWindow("input", CV_WINDOW_AUTOSIZE);
	imshow("input",src);
	
   cvtColor(src,dst,CV_BGR2GRAY);
   equalizeHist(dst,dst);
   imshow("output",dst);

	waitKey(0);
	return 0;
}
Publicado 66 artículos originales · ganado elogios 53 · vistas 6812

Supongo que te gusta

Origin blog.csdn.net/qq_43367829/article/details/105424690
Recomendado
Clasificación