2017-11-24 13 views
-1

OpenCV 3.2.0에서 cv2.cv.Round 구현이 있습니까? 접두사 cv2.cv가 제거되었고 대신에 cv2.argument가 주로 사용된다는 것을 알게되었습니다. 그러나 문서에서 라운드에 대해서는 아무 것도 찾을 수 없습니다. cv2.cv.Round가 이전 버전에서 작동했음을 압니다. 3.2.0에서 cv2.Round를 시도하면 오류가 발생합니다.OpenCV 3.2.0에서 cv2.cv.Round?

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

또한 cv2.cv가 제거되었으므로 예상대로 오류가 발생합니다.

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

가 나는 파이썬의 내장에 찬성 하락 ['round'] (https://docs.python.org/3/library/functions.html#round)하고있다 생각 NumPy와의 ['round'] (https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.round_.html) – sgarizvi

답변

1

다른 cv2.round 또는 cv2.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

'func'는 음수를 올바르게 처리하지 않습니다. 음수의 경우 0.5를 더하고 빼지 않으면 안됩니다. – sgarizvi

+0

조언 해 주셔서 감사합니다. 그러나 cv.Round 함수에 명시 적으로 관심이 있으며 여전히 3.2.0에서 사용할 수 있다면! – Karido

+0

@sgarizvi 감사합니다. – Silencer