我正在尝试使用OpenCV2中的Houghcircle检测此圆,但是出现了错误。
以下是我的代码。chh = cv2.HoughCircles(crr, cv2.HOUGH_GRADIENT, 1,minDist = 50, param1 =200,
param2 = 18, minRadius = 20, maxRadius =60)
[2]
ch = np.uint16(np.around(ch)) #error appears to come from here
我假设1会找到圆,而[2]将其转换为数组,我怀疑是
np.around
的问题。非常感谢您的解释。
完整错误:
AttributeError Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py in _wrapfunc(obj, method, *args, **kwds) 55 try: ---> 56 return getattr(obj, method)(*args, **kwds) 57 AttributeError: 'NoneType' object has no attribute 'round'
在处理上述异常期间,发生了另一个异常:
AttributeError Traceback (most recent call last) in ----> 1 ch = np.uint16(np.around(ch)) # 错误似乎来自这里
C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py in around(a, decimals, out) 3005 3006 """ -> 3007 return _wrapfunc(a, 'round', decimals=decimals, out=out) 3008 3009
C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py in _wrapfunc(obj, method, *args, **kwds) 64 # a downstream library like 'pandas'. 65 except (AttributeError, TypeError): ---> 66 return _wrapit(obj, method, *args, **kwds) 67 68
C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py in _wrapit(obj, method, *args, **kwds) 44 except AttributeError: 45 wrap = None ---> 46 result = getattr(asarray(obj), method)(*args, **kwds) 47 if wrap: 48 if not isinstance(result, mu.ndarray):
AttributeError: 'NoneType' object has no attribute 'rint'
chh
,而[2]中未定义ch
。 - Dschoni