1) Cargarla directamente como una imagen en escala de grises
Código:
import cv imagen_gris=cv.LoadImage("python.png",cv.CV_LOAD_IMAGE_GRAYSCALE) cv.ShowImage("imagen",imagen_gris) cv.WaitKey(0)
El código es muy similar al que se usa cuando se quiere cargar una imagen. La única diferencia es el segundo argumento que se le pasa a la función LoadImage, El cual indica que queremos que la imagen se cargue en escala de grises.
2) Cargarla y luego convertirla a escala de grises
Código:
import cv imagen=cv.LoadImage("python.png") imagen_gris=cv.CreateImage(cv.GetSize(imagen),cv.IPL_DEPTH_8U, 1) cv.CvtColor(imagen,imagen_gris,cv.CV_RGB2GRAY) cv.ShowImage("imagen",imagen) cv.WaitKey(0)
Este código nos brinda la posibilidad de mantener la imagen original a color en una variable, y la imagen en escala de grises en otra. Primero debemos crear el contenedor de la imagen en escala de grises con la función cv.CreateImage la cual necesita 3 argumentos: tamaño, profundidad, canales.
El tamaño es una tupla que contiene los valores del alto y el ancho de la imagen, la profundidad se refiere a la profundidad de color que usara la imagen, y por ultimo como nos referimos a una imagen en escala de grises solo necesita un canal a diferencia de las imágenes RGB que necesitan 3.
Luego de creada la imagen, usamos la función cv.CvtColor para convertir "imagen" a escala de grises y meterla en "imagen_gris".
El resultado en ambos casos es el mismo.
Resultado:
Descargar el código
y para convertir una video en vivo a escala de grises desde la webcam con la funcion capture = cv.CaptureFromCAM(0) como se convierte
ResponderEliminar