Recorte de imágenes#
Cuando trabajamos con imágenes de microscopía, a menudo tiene poco sentido procesar toda la imagen. Típicamente recortamos regiones interesantes y las procesamos en detalle.
from skimage.io import imread, imshow
image = imread("../../data/blobs.tif")
Antes de poder recortar una imagen, es posible que queramos conocer su forma (dimensiones) exacta:
image.shape
(254, 256)
Recapitulación: Visualización usando imshow:
imshow(image)
<matplotlib.image.AxesImage at 0x2448a01e9d0>
El recorte de imágenes funciona exactamente igual que el recorte de listas y tuplas, utilizando índices para especificar el rango de elementos a usar:
cropped_image1 = image[0:128]
imshow(cropped_image1);
mylist = [1,2,2,3,4,5,78]
Para recortar la imagen también en la segunda dimensión, agregamos una , en los corchetes:
cropped_image2 = image[0:128, 128:]
imshow(cropped_image2);
Submuestreo de imágenes#
También se pueden especificar tamaños de paso como si procesáramos listas y tuplas. Técnicamente, estamos submuestreando la imagen en este caso. Muestreamos un subconjunto de los píxeles originales, por ejemplo, en pasos de 5:
sampled_image = image[::5, ::5]
imshow(sampled_image);
Volteo de imágenes#
Los tamaños de paso negativos voltean la imagen.
flipped_image = image[::, ::-1]
imshow(flipped_image);
Ejercicio#
Abre el conjunto de datos banana020.tif y recorta la región donde se encuentra la rodaja de plátano.