Taille de l'Image (Python, OpenCV)

j'aimerais obtenir la taille de L'Image en python,comme je le fais avec c++.

int w = src->width;
printf("%d", 'w');
25
demandé sur Andrea Diaz 2012-10-23 18:54:34

5 réponses

utilisez la fonction GetSize dans le module cv avec votre image comme paramètre. Il retourne la largeur, la hauteur, un tuple avec 2 éléments:

width, height = cv.GetSize(src)
12
répondu halex 2012-10-23 15:03:57

en utilisant openCV et numpy c'est aussi simple que cela:

import numpy as np
import cv2

img = cv2.imread('your_image.jpg',0)
height, width = img.shape[:2]
78
répondu cowhi 2017-06-21 21:44:06

- je utiliser numpy.size() à faire de même:

import numpy as np
import cv2

image = cv2.imread('image.jpg')
height = np.size(image, 0)
width = np.size(image, 1)
10
répondu Rodrigo Lara 2015-11-15 21:41:27
height, width, channels = img.shape

si vous ne voulez pas le nombre de canaux (utile pour déterminer si l'image est bgr ou grayscale) il suffit de laisser tomber la valeur:

height, width, _ = img.shape
9
répondu Stein 2017-09-15 20:06:59

Voici une méthode qui renvoie les dimensions de l'image:

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)
0
répondu Roei Bahumi 2018-08-12 10:05:26