私はオープンCV2で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にトレースバック(最新の呼び出しの最後の)C:\はProgramData \ Anaconda3 \ libに\のsite-packages \ numpyの\コア\ fromnumeric.pyで_wrapfunc(OBJ、メソッド、引数*、** kwds)55試してみてください。---> 56リターンGETATTR(OBJ、メソッド)(* argsを、** kwds)57
AttributeError:「NoneType」オブジェクトが属性「ラウンド」を持っていません
上記の例外の取り扱い時には、別の例外が発生しました:
AttributeErrorにトレースバック(最新の呼び出しの最後)----> 1 CH = np.uint16(np.around(CH))で#エラーここから来るように見えます
C:\はProgramData \ Anaconda3 \ libに\周りでのsite-packages \ numpyの\コア\ fromnumeric.py(、小数、アウト)3005 3006 ""」 - > 3007リターン_wrapfunc( 'ラウンド'、小数=小数、うちは)アウト= 3008 3009
C:\はProgramData \ Anaconda3 \ libに\のsite-packages \ numpyの\コア\ fromnumeric.pyで_wrapfunc(OBJ、メソッド、引数*、** kwds)64# 'パンダ' のような下流のライブラリ。(はAttributeError、TypeError例外)を除く65:---> 66戻り_wrapit(OBJ、メソッド、引数*、** kwds)67 68
C:\はProgramData \ Anaconda3 \ libに\のsite-packages \ numpyの\コア\はAttributeError除く_wrapitでfromnumeric.py(OBJ、メソッド、引数*、** kwds)44:45ラップ=なし---> 46結果= GETATTR (asarray(OBJ)、メソッド)(* argsを、** kwds)47ラップの場合:48ないでisinstance(その結果、mu.ndarray)の場合:
AttributeError:「NoneType」オブジェクトが無属性「RINT」を持っています
ここで使用して円検出を実行するために簡単な例です cv2.HoughCircles
import cv2
import numpy as np
# Load image, grayscale, Otsu's threshold
image = cv2.imread('1.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
# Find circles with HoughCircles
circles = cv2.HoughCircles(thresh, cv2.HOUGH_GRADIENT, 1, minDist=150, param1=200, param2=18, minRadius=20)
# Draw circles
if circles is not None:
circles = np.round(circles[0, :]).astype("int")
for (x,y,r) in circles:
cv2.circle(image, (x,y), r, (36,255,12), 3)
cv2.imshow('thresh', thresh)
cv2.imshow('image', image)
cv2.waitKey()