2012-10-23 61 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