图像大小(Python,OpenCV)

And*_*iaz 33 python size opencv

我想在python中获得Image大小,就像我用c ++做的那样.

int w = src->width;
printf("%d", 'w');
Run Code Online (Sandbox Code Playgroud)

cow*_*whi 107

使用openCV和numpy就像这样简单:

import cv2

img = cv2.imread('path/to/img',0)
height, width = img.shape[:2]
Run Code Online (Sandbox Code Playgroud)

  • 为什么需要为此导入`numpy`? (11认同)
  • 我认为它应该:`height,width = img.shape [:2]` (10认同)
  • 它内部使用 numpy (2认同)

hal*_*lex 19

使用GetSize模块中的功能cv和图像作为参数.它返回宽度,高度作为元组,包含2个元素:

width, height = cv.GetSize(src)
Run Code Online (Sandbox Code Playgroud)

  • 这个功能在OpenCV 3中似乎不存在.也许它刚刚被删除了? (7认同)
  • 链接好像坏了 (2认同)

小智 16

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

import numpy as np
import cv2

image = cv2.imread('image.jpg')
height = np.size(image, 0)
width = np.size(image, 1)
Run Code Online (Sandbox Code Playgroud)


Ste*_*ein 14

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

height, width, channels = img.shape
Run Code Online (Sandbox Code Playgroud)

如果您不想要通道数(用于确定图像是bgr还是灰度),只需删除值:

height, width, _ = img.shape
Run Code Online (Sandbox Code Playgroud)