OpenCV python vstack改变宽度

时间:2016-09-09 20:58:36

标签: python-2.7 opencv numpy

我正在使用OpenCV 3.0.0和Python 2.7并尝试一些应该简单的东西。

我想垂直堆叠图像。

这个简单的例子:

import cv2
import numpy as np

comb = np.vstack((row_0, row_1))
cv2.imwrite('foo.png', comb)

始终生成foo.png,其{(1}}和row_0row_1row_0.shape (1074, 785, 3) row_1.shape (1187, 785, 3) comb.shape (2261, 785, 3) 更窄(在浏览器中)。

详细说明:

row_0.png

如果我在浏览器中查看foo.png,则其宽度超过row_0.png

问题

如何更改我的代码,以便foo.png与浏览器中=COUNTIF(C3:C, "'*") 的宽度相同?

1 个答案:

答案 0 :(得分:0)

np.vstack执行两项操作 - 确保输入至少为2d(此处为3d),并将它们连接到轴= 0(行)。换句话说

np.concatenate((row0, row1), axis=0)

这就是我看到的情况 - 两个维度是相同的,第一个是两个输入的总和:

(1074, 785, 3)
+
(1187, 785, 3)
=
(2261, 785, 3)

如果comb看起来更窄,可能是因为缩放。第二暗淡与第一暗淡的比例变小;如果以这种方式加入2个数组,这是预期的。鉴于尺寸,这是唯一可能的方式。

作为数组查看,comb包含更多行,列数相同。但如果2261是图像显示宽度,则相对高度会更小。