2012-10-23 64 views
22

我想用python获得图像大小,就像我用C++一样。图像大小(Python,OpenCV)

int w = src->width; 
printf("%d", 'w'); 
+0

那是什么' - >'的语法?从来没有见过它...... –

+0

用于访问像PHP一样的对象属性?如果是这样,为什么他们不使用点运算符('.')? –

+0

@YatharthROCK在C++'a-> b'等价于'(* a).b' –

回答

10

从模块cv与图像参数使用功能GetSize。它返回宽度,高度与2个元素的元组:

width, height = cv.GetSize(src) 
+1

这个函数似乎并不存在于OpenCV 3中。也许它在前一段时间被删除? – polm23

64

使用opencv和numpy的是,因为这容易:

import numpy as np 
import cv2 

img = cv2.imread('your_image.jpg',0) 
height, width = img.shape[:2] 
+6

我认为应该:'height,width = img.shape [:2]' – tidy

9

我使用numpy.size()做同样的:

import numpy as np 
import cv2 

image = cv2.imread('image.jpg') 
height = np.size(image, 0) 
width = np.size(image, 1) 
4

对我来说,最简单的方法是采取由image.shape返回的所有值:

height, width, channels = img.shape 

,如果你不想(来确定有用的,如果图像是BGR或灰度)信道的数量刚落值:

height, width, _ = img.shape