Mostrar diferentes planos de una imagen RGB en Python

En este artículo vamos a ver cómo para mostrar diferentes planos es decir, rojo, verde, planos de color azul de la imagen RGB?

una imagen en color puede representarse como una matriz 3 orden. La primera orden es class las filas, la segunda orden es for las columnas y la tercera orden es for que especifica el color del píxel correspondiente. Aquí, nosotros usamos el formato de color BGR (porque la biblioteca OpenCV pitón trabaja en formato BGR, no en RGB), por lo que el tercer orden se llevará a 3 valores de azul, verde y rojo, respectivamente.

planos de color imagen de BGR:

Consideremos una matriz de imagen BGR I entonces,

  • I [:,:, 0] representa el plano de color azul de la imagen BGR
  • I [:,:, 1] representa el plano de color verde de la imagen BGR
  • I [:,:, 2] representa el plano del color rojo de la imagen BGR

En este programa , vamos a utilizar dos funciones de OpenCV-pitón (CV2) módulo . Vamos a ver su sintaxis y descripciones primero:

1) imread ():
Se necesita un / ruta relativa ruta absoluta del archivo de imagen como un argumento y devuelve su matriz de la imagen correspondiente.

2) imshow ():
Toma nombre de la ventana y la matriz de imagen como un argumento con el fin de mostrar una imagen en una ventana de visualización con un nombre de ventana especificada.

3) forma: Este es el atributo de una matriz de la imagen que for forma de una imagen es decir, que consiste en el número de filas, columnas y número de planos.

programa de Python para mostrar diferentes planos de una imagen RGB

# open-cv library is installed as cv2 in python
# import cv2 library into this program
import cv2
# import numpy library as np
import numpy as np
# read an image using imread() function of cv2
# we have to pass only the path of the image
img = cv2.imread(r'C:/Users/user/Desktop/pic4.jpg')
# displaying the image using imshow() function of cv2
# In this : 1st argument is name of the frame
# 2nd argument is the image matrix
cv2.imshow('original image',img)
# shape attribute of an image matrix gives the dimensions
row,col,plane = img.shape
# here image is of class 'uint8', the range of values
# that each colour component can have is [0 - 255]
# create a zero matrix of order same as
# original image matrix order of same dimension
temp = np.zeros((row,col,plane),np.uint8)
# store blue plane contents or data of image matrix
# to the corresponding plane(blue) of temp matrix
temp[:,:,0] = img[:,:,0]
# displaying the Blue plane image
cv2.imshow('Blue plane image',temp)
# again take a zero matrix of image matrix shape
temp = np.zeros((row,col,plane),np.uint8)
# store green plane contents or data of image matrix
# to the corresponding plane(green) of temp matrix
temp[:,:,1] = img[:,:,1]
# displaying the Green plane image
cv2.imshow('Green plane image',temp)
# again take a zero matrix of image matrix shape
temp = np.zeros((row,col,plane),np.uint8)
# store red plane contents or data of image matrix
# to the corresponding plane(red) of temp matrix
temp[:,:,2] = img[:,:,2]
# displaying the Red plane image
cv2.imshow('Red plane image',temp)

salida

Show different planes of an RGB image in Python - 4
Show different planes of an RGB image in Python - 5


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *