2017-11-24 48 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

私はそれはPythonの組み込みの[ '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

関連する問題