cv2.cv.Round在OpenCV 3.2.0中?

时间:2017-11-24 11:49:10

标签: python-2.7 opencv rounding cv2

OpenCV 3.2.0中是否有cv2.cv.Round的实现? 我发现前缀cv2.cv已被删除,而cv2.argument主要用于。但我无法在文档中找到关于Round的任何内容。我知道cv2.cv.Round在早期版本中有效。在3.2.0中尝试cv2.Round会引发错误。

AttributeError: 'module' object has no attribute 'Round'

如果因为cv2.cv被删除,这会引发预期的错误。

cv2.cv.Round(133.4)
AttributeError: 'module' object has no attribute 'cv'

2 个答案:

答案 0 :(得分:2)

不再有cv2.roundcv2.cv.round或其他内容。

你可以这样做。

>>> sys.version
'3.5.2 (default, Nov 17 2016, 17:05:23) \n[GCC 5.4.0 20160609]'

>>> xxx = [-3.6,-3.5,-3.4,3.4,3.5,3.6]
>>> print(xxx)
[-3.6, -3.5, -3.4, 3.4, 3.5, 3.6]

>>> list(map(round, xxx))
[-4, -4, -3, 3, 4, 4]

>>> func = lambda x: int(x+0.5) if x>0 else int(x-0.5)
>>> list(map(func, xxx))
[-4, -4, -3, 3, 4, 4]

答案 1 :(得分:0)

DELETE
FROM goods
WHERE JSON_CONTAINS_PATH(attrs, 'one', '$.tag_147', '$.tag_145')

我遇到了同样的问题,得到的解决方案仅需直接使用AttributeError: module 'cv2.cv2' has no attribute 'Round' 而不需要round Fun,它会自动处理,这是Python的基本功能