単純なエラーから、複雑なエラーまでを載せていきます。
ValueError: too many values to unpack (expected 2)
このエラーは変数が大きすぎるよ(予想されるのは2です)というエラーです。
example01.py
#修正前
x , y, w = 1 ,2 ,3,0
#修正後
x , y, w = 1 ,2 ,3.0
error: (-215:Assertion failed) ngroups > 0 && inpCn % ngroups == 0 && outCn % ngroups == 0 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'
OpenCVのdnn MobileNetSSDをいじっていたときに起きたエラーです。
example02.py
blob = cv2.dnn.blobFromImage(cv2.resize(frame, \
(300, 300)), 0.007843, (300, 300), 127.5)
上記のframe変数のカラーコードをgrayscaleにしてあげれば直ります。
*直らないときもある。日本語の記事が少なく諦めた
example03.py
frame = cv2.imread(args["image"], cv2.IMREAD_GRAYSCALE)
#または
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S) in function 'cv::contourArea'
cv2.findCountContoursを利用しているときに起きたエラーです。
openCV3になり、この関数の返り値は3つになりました。
関係ないですがcontoursのtypeはnumpy.ndarrayです。
findContours関数を使うときは「このサイト」がとても丁寧でわかりやすいです。
example04.py
#修正前
contours, hierarchy = cv2.findContours(im_bw.copy(),\
cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
#修正後
image, contours, hierarchy = cv2.findContours(im_bw.copy(),\
cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)