我正在使用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_0
比row_1
和row_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, "'*")
的宽度相同?
答案 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是图像显示宽度,则相对高度会更小。