imagen opencv en escala de grises

  •  

  • La escala de grises de la imagen es asignar el valor de brillo (R, G, B) de la imagen al valor de gris entre 0 y 255 de cierta manera. Para que la imagen se vea menos monótona, el valor de brillo de la imagen debe ser ajustado.transformar. La siguiente es una breve introducción a la función de escala de grises en opencv: 1. Primero convierta el valor de píxel de la imagen en tres componentes de R, G y B, donde el componente R se usa para la transformación de la imagen en escala de grises y el componente G es utilizado para la transformación del color. 2. Luego, de acuerdo con la fórmula de transformación de escala de grises: 3. De acuerdo con la fórmula, se puede calcular el valor de escala de grises de cada píxel 4. Finalmente, la escala de grises de la imagen se completa haciendo corresponder estos valores de escala de grises con el valor de cada píxel 1. Primero convierta la imagen en tres componentes de R, G y B. 3. Finalmente, el valor de gris de cada píxel se asigna al canal de color correspondiente.

    • 1. Usando la biblioteca image.palindrome en opencv, llame a la función sobel para obtener el valor de píxel y luego use la función de transformación de escala de grises para calcular el valor de escala de grises.

      1. Primero use la función sobel en la biblioteca image.palindrome para obtener el valor de píxel y luego use la función de transformación de escala de grises para calcular el valor de escala de grises. 2. En opencv, si desea realizar una transformación de escala de grises en un determinado píxel de la imagen, puede usar directamente la función de cuadrícula (esta es una función con el mismo nombre que el nombre del archivo de clase). La función de cuadrícula realiza la unificación del valor gris de múltiples píxeles en la imagen. 3. En opencv, podemos realizar una imagen en escala de grises a través de métodos inversos y de conversión en la biblioteca openCV. 4. La operación específica es la siguiente: 1) Primero divida la imagen en varios grupos de píxeles con el mismo valor de píxel, y cada grupo de píxeles se puede considerar como un píxel con el mismo valor de gris y un valor de gris de 1. Por ejemplo, en la biblioteca image.palindrome, dividimos la imagen en cuatro grupos de píxeles: cada grupo de píxeles corresponde a una función de transformación de escala de grises, como se muestra en el código anterior. 2) Luego use los métodos inverso y de conversión para calcular el valor de transformación de escala de grises de cada grupo de píxeles respectivamente, y obtenga el valor de escala de grises de cada grupo de píxeles llamando a la función inversa; 3) Finalmente, combine el valor de escala de grises calculado con todos los valores de escala de grises en la imagen Los valores de gris de todos los píxeles de la imagen se pueden obtener multiplicando los valores de gris de los píxeles. 5. Puede llamar directamente a la función de cuadrícula para calcular el valor de gris de todos los píxeles de la imagen: 6. Sin embargo, este método dividirá la imagen en una gran área gris y no podrá manejar algunas áreas relativamente pequeñas. Por ejemplo, hay un punto en la imagen, que se puede considerar como un grupo de píxeles con un valor de gris de 1 en la imagen, entonces podemos usar directamente este punto como el límite de segmentación: 7. La segmentación de la imagen se puede realizar a través de la Función de los símbolos. La función de símbolos es el resultado de calcular la transformación en escala de grises de una imagen completa. 8. Para facilitar la comprensión, dividimos toda la imagen en cuatro partes del mismo tamaño, que son rojo, verde, azul y blanco. Estas cuatro partes corresponden a diferentes canales de color: 9. El canal rojo corresponde al valor de gris rojo, el canal verde corresponde al valor de gris verde, el canal azul corresponde al valor de gris azul, el canal blanco corresponde al valor de gris blanco . La fórmula de transformación de escala de grises correspondiente a los cuatro canales de color se puede obtener mediante cálculo:

    • 2. Use la biblioteca opencv-benchmark en opencv para establecer el valor de píxel y el umbral del canal correspondiente, y luego use la función gamma en la biblioteca opencv-benchmark para calcular el valor de gris de cada píxel.

      3. En opencv, si ingresa una imagen, puede usar directamente la función sobel para generar una imagen en escala de grises. 4. Podemos usar la función gamma en la biblioteca opencv-benchmark para asignar el valor de brillo de la imagen a un valor de 255 grises. 5. Hay una función en la biblioteca opencv-benchmark que es una función de asignación de un espacio de color RGB a otro espacio de color RGB, que puede asignar el canal de color en escala de grises de la imagen a un espacio de color RGB.

    • 3. Normalice el valor de gris de cada píxel en opencv y luego use la función sobel para obtener el canal de color de cada píxel.

      Según la fórmula, el componente R se puede transformar en cualquier valor entre 0 y 255, es decir, el componente R se puede transformar en cualquier valor entre 0 y 255. Debido a que R y G son componentes de color, pueden corresponder a cada píxel. 2. Luego normalice los tres componentes de R, G y B. La normalización se refiere al proceso de mapear el valor RGB de una imagen de acuerdo con su valor de gris en opencv. Los componentes RGB en los tres píxeles RGB están compuestos por valores de brillo de tres colores diferentes, donde el primer valor de brillo R representa el color del píxel (rojo, verde y azul); el segundo valor de brillo G representa el color del píxel El color del píxel (amarillo, azul, verde), el tercer valor de brillo B representa el color del píxel (blanco y negro). Los tres píxeles RGB normalizados se pueden asignar a tres canales diferentes. Dado que el componente R y el componente G se asignan al mismo canal de color, son relativamente independientes. 3. Luego asigne estos tres canales de color a cualquier canal entre 0 y 255, es decir, asigne tres píxeles de RGB a tres canales de color diferentes. Finalmente, se obtiene la imagen en escala de grises. Calcula a qué canal de color corresponde cada píxel según la fórmula y luego conecta estos tres canales para obtener el resultado final. La transformación de escala de grises está completa. 4. Podemos usar opencv para realizar la operación de obtener el valor de gris después de la transformación de la escala de grises de la imagen. El siguiente es el código para el valor de gris correspondiente a los tres canales de color RGB después de que se realiza la escala de grises usando opencv: 5. Luego use sobel La función asigna estos valores de escala de grises correspondientes a tres canales de color diferentes al canal de color RGB. Debido a que la función sobel obtiene a qué canal de color corresponde cada píxel está determinado por el cálculo automático de opencv, por lo que la función sobel no necesita ser implementada por nosotros mismos. 9. A través de la introducción anterior, podemos ver que el valor de gris obtenido después de la transformación de la escala de grises corresponde a los tres canales de color RGB determinados por el cálculo automático de opencv.

    • 4. Utilice los canales de color correspondientes a estos valores de escala de grises como nuevos canales de color y luego realice el procesamiento de transformación de escala de grises en los nuevos canales de color.

      La transformación de escala de grises es una operación básica en el procesamiento de imágenes, que asigna el valor de brillo de una imagen en escala de grises a un valor de escala de grises entre 0 y 255. Al realizar una transformación de escala de grises en la imagen, se pueden obtener valores de escala de grises correspondientes a diferentes valores de brillo. En el procesamiento de imágenes, la imagen en escala de grises se puede convertir fácilmente en una imagen en color utilizando la función de transformación de escala de grises, para facilitar el procesamiento posterior de la imagen. Después de la transformación en escala de grises de la imagen original, se puede obtener una nueva imagen en color, y las personas en la vida real suelen utilizar imágenes en color, como impresión en color, TV en color, fotos en color, etc. La función de escala de grises en opencv puede convertir una imagen en escala de grises en una matriz de canales de color (RGB). La transformación de escala de grises se puede realizar en un punto de píxel o la transformación de escala de grises en varios puntos de píxel. Por ejemplo, dada una imagen con una escala de grises de 9: Calculando los valores de escala de grises de 9 píxeles y los canales de color correspondientes, se pueden obtener 9 nuevos canales de color. El procesamiento posterior de estos nuevos canales de color como una nueva matriz RGB puede obtener el efecto de color deseado.

Los siguientes son varios códigos de imagen en escala de grises de OpenCV de uso común:

1. Use la función cvtColor para convertir la imagen a una imagen en escala de grises:
```python
import cv2
img = cv2.imread('image.jpg')
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow(' Imagen gris ', gray_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
2. Use la función cv2.imread para leer la imagen y use la función cv2.cvtColor para convertir la imagen en una imagen en escala de grises: `
` `python
import cv2
img = cv2.imread('imagen.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('Imagen gris', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
3. Use el punto función de numpy para convertir la imagen Para imágenes en escala de grises:
```python
import cv2
import numpy as np
img = cv2.imread('image.jpg')
gray_img = np.dot(img[..., :3], [0.299, 0.587, 0.114])
cv2.imshow('Imagen gris', gray_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
anterior Estos son varios códigos de imagen en escala de grises de OpenCV de uso común, y puede elegir el método apropiado según sus necesidades.

Supongo que te gusta

Origin blog.csdn.net/qq_42751978/article/details/130824526
Recomendado
Clasificación