tamaño imagen getsize python opencv size

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)