Has*_*zan 3 python opencv python-2.7 keras tensorflow
由于以下错误,我正在尝试添加频道
ValueError:无法将输入数组从形状 (48,48) 广播到形状 (48,48,1)
代码:
img = cv2.imread(f,0)
resized = cv2.resize(img, (48,48), interpolation = cv2.INTER_AREA)
print(resized.shape)
(48, 48)
Run Code Online (Sandbox Code Playgroud)
但我需要像 (48,48,1) 这样的通道图像。
我该如何解决这个问题?
y = np.expand_dims(x, axis=-1) # Equivalent to x[:,:,np.newaxis]
Run Code Online (Sandbox Code Playgroud)
正如函数所说,它将添加一个额外的维度作为新的最后一个通道
编辑
小智 3
您可以通过使用拆分和合并操作来做到这一点:
首先,使用 split 将 2 通道图像分成两个数组。然后,分别创建为您提供第三个通道的数组。最后,合并三个数组得到一个3通道Mat。
这是一个例子:
c1,c2 = cv2.split(img)
merged = cv2.merge((c1,c2,arr))
Run Code Online (Sandbox Code Playgroud)
其中 img 是 2 通道图像,arr 是包含要添加的通道的数组,合并图像包含合并的三个通道。
| 归档时间: |
|
| 查看次数: |
11267 次 |
| 最近记录: |