gpt4 book ai didi

python - 在python中的cv::UMat::convertTo

转载 作者:行者123 更新时间:2023-12-02 17:30:44 24 4
gpt4 key购买 nike

我想将UMat转换为其他类型。

我已经尝试过使用UMat方法convertTo,但出现以下错误:
AttributeError: 'cv2.UMat' object has no attribute 'convertTo'

我也尝试使用numpy方法np.float32,该方法显然不适用于UMat:
TypeError: float() argument must be a string or a number, not 'cv2.UMat'
我将使用一个numpy数组,但我需要UMat格式的其他方法。

这是有问题的代码:

array255 = cv2.UMat(int(height), int(width), type=cv2.CV_8UC1, s=(255))

...

hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

...

lhsv = cv2.split(hsv_frame)
s = cv2.subtract(array255, lhsv[1])
v = cv2.subtract(array255, lhsv[2])
#s = s.convertTo(cv2.CV_32F)
#v = v.convertTo(cv2.CV_32F)
s = np.float32(s)
v = np.float32(v)

最佳答案

UMat具有方法get(),返回numpy.array。调用它,而不是使用numpy类型转换方法。例如。

array255f = array255.get().astype('f')

比您可以将其转换回 UMat:
array255fum = cv2.UMat(array255f)
array255fum将为 cv2.CV_32F类型。

关于python - 在python中的cv::UMat::convertTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882041/

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