gpt4 book ai didi

python - 使用 cv2 在 python 中创建多 channel 零垫

转载 作者:太空狗 更新时间:2023-10-29 20:38:53 27 4
gpt4 key购买 nike

我想用 cv2 opencv 包装器在 python 中创建一个多 channel mat 对象。

我在网上找到了将 c++ Mat::zeros 替换为 numpy.zeros 的示例,这看起来不错。但似乎没有适合的多 channel 类型..

看代码:

import cv2
import numpy as np

size = 200, 200
m = np.zeros(size, dtype=np.uint8) # ?
m = cv2.cvtColor(m, cv2.COLOR_GRAY2BGR)
p1 = (0,0)
p2 = (200, 200)
cv2.line(m, p1, p2, (0, 0, 255), 10)

cv2.namedWindow("draw", cv2.CV_WINDOW_AUTOSIZE)
while True:
cv2.imshow("draw", m)

ch = 0xFF & cv2.waitKey(1)
if ch == 27:
break
cv2.destroyAllWindows()

我想避免 m = cv2.cvtColor(m, cv2.COLOR_GRAY2BGR)cv2.CV_8UC3 np.uin32 都不起作用。

一些提示?

最佳答案

试试这个作为 size:

size = 200, 200, 3
m = np.zeros(size, dtype=np.uint8)

基本上,我为找到矩阵所需的参数所做的工作是:

img = cv2.imread('/tmp/1.jpg')
print img.shape, img.dtype
# (398, 454, 3), uint8

但也可以在 OpenCV 文档中找到它。

关于python - 使用 cv2 在 python 中创建多 channel 零垫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16235955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com