imagen - size of image python
Tamaño de la imagen(Python, OpenCV) (5)
Me gustaría obtener el tamaño de la imagen en python, ya que lo hago con c ++.
int w = src->width;
printf("%d", ''w'');
Aquí hay un método que devuelve las dimensiones de la imagen:
from PIL import Image
import os
def get_image_dimensions(imagefile):
"""
Helper function that returns the image dimentions
:param: imagefile str (path to image)
:return dict (of the form: {width:<int>, height=<int>, size_bytes=<size_bytes>)
"""
# Inline import for PIL because it is not a common library
with Image.open(imagefile) as img:
# Calculate the width and hight of an image
width, height = img.size
# calculat ethe size in bytes
size_bytes = os.path.getsize(imagefile)
return dict(width=width, height=height, size_bytes=size_bytes)
Para mí, la forma más fácil es tomar todos los valores devueltos por image.shape:
height, width, channels = img.shape
si no desea la cantidad de canales (útil para determinar si la imagen es bgr o escala de grises) simplemente suelte el valor:
height, width, _ = img.shape
Usar openCV y numpy es tan fácil como esto:
import numpy as np
import cv2
img = cv2.imread(''your_image.jpg'',0)
height, width = img.shape[:2]
Use la función GetSize
del módulo cv
con su imagen como parámetro. Devuelve ancho y alto como una tupla con 2 elementos:
width, height = cv.GetSize(src)
Yo uso numpy.size () para hacer lo mismo:
import numpy as np
import cv2
image = cv2.imread(''image.jpg'')
height = np.size(image, 0)
width = np.size(image, 1)