numpy数组设置图像尺寸opencv

时间:2018-06-28 12:25:51

标签: arrays image numpy opencv

我从未指定尺寸的成像设备上获得了原始灰度帧。 但是我知道原始帧是342x260像素。 经过初步处理后,我得到了一个uint16 numpy数组(1d数组)。如何使用cv2.imshow显示数组?

cv2.imshow('image', npframe)
cv2.waitKey(0)
cv2.destroyAllWindows()

我所得到的是一个看起来很怪异的窗口,可以将屏幕的整个高度拉伸:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用npframe.shape获取图像尺寸。对于灰度图像,这将返回具有两个元素(y, x)的元组,例如高度和宽度为(260, 342);对于彩色(RGB / BGR)图像,将返回具有三个元素{{1}的元组},以获取通道的高度,宽度和数量。

您可以通过首先定义窗口名称来设置窗口大小:

(y, x, c)

cv2.namedWindow('image', cv2.WINDOW_NORMAL) 标志可让您调整图像大小:

WINDOW_NORMAL

其中cv2.resizeWindow('image', npframe.shape[1], npframe.shape[0]) npframe.shape[1]维度中的图像大小,xnpframe.shape[0]维度中的图像大小。

然后您的y命令将是图像的大小。