teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

補足依頼

2017/12/06 16:00

投稿

vibrato
vibrato

スコア52

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,38 @@
28
28
  ```
29
29
  Canny()を通るとnumpyの二次元配列480*640の全要素が「0」になってしまい、その後の計算に支障をきたしているようです。
30
30
 
31
- 原因は何なのでしょうか?ご教授お願いいたします。
31
+ 原因は何なのでしょうか?ご教授お願いいたします。
32
+
33
+ ###追記
34
+ **エラー箇所( line 52 )**
35
+ ```python
36
+ while True:
37
+ orig = cam.read()[1]
38
+
39
+ lines = orig.copy()
40
+
41
+ # 輪郭を抽出する
42
+ canny = cv2.cvtColor(orig, cv2.COLOR_BGR2GRAY)
43
+ canny = cv2.GaussianBlur(canny, (5, 5), 0)
44
+ canny = cv2.Canny(canny, 50, 100) # 輪郭を抽出
45
+ cv2.imshow('canny', canny)
46
+
47
+ cnts = cv2.findContours(canny, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)[0]
48
+
49
+ cnts.sort()
50
+
51
+ warp = None
52
+ 51 for i, c in enumerate(cnts):
53
+ 52 arclen = cv2.arcLength(c, True)
54
+ ```
55
+ C:\Users\○○○\Desktop>contour_extraction.py
56
+ OpenCV Error: Assertion failed (count >= 0 && (depth == 5 || depth == 4)) in cv::arcLength, file D:\Build\OpenCV\opencv-3.3.1\modules\imgproc\src\shapedescr.cpp, line 284
57
+ Traceback (most recent call last):
58
+ File "C:\Users\○○○\Desktop\contour_extraction.py", line 52, in <module>
59
+ arclen = cv2.arcLength(c, True)
60
+ cv2.error: D:\Build\OpenCV\opencv-3.3.1\modules\imgproc\src\shapedescr.cpp:284: error: (-215) count >= 0 && (depth == 5 || depth == 4) in function cv::arcLength
61
+
62
+ ###補足
63
+ 質問トップにあるURLをコピペしただけなので、そちらのソースコードを見ていただけると詳しくわかると思いますが、webカメラのキャプチャからイメージを取得してます。
64
+ 今回キャプチャしたものは**自身の顔含むプライベートな画像**(映像)であるため、大変申し訳ないですが、こちらに張り付けることはしないつもりです。
65
+ ただそのような画像(映像)を使った上でのエラーであると認識していただければ幸いです。