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

質問編集履歴

2

文法ミス

2020/06/20 03:33

投稿

yumiwo
yumiwo

スコア5

title CHANGED
File without changes
body CHANGED
@@ -49,20 +49,20 @@
49
49
 
50
50
  ```
51
51
  #例外処理をしたバージョンです
52
+ def cul_gravity_point(img):
52
- try:
53
+ try:
53
- def cul_gravity_point(img):
54
54
  mu = cv2.moments(img, False)
55
55
  x,y= int(mu["m10"]/mu["m00"]) , int(mu["m01"]/mu["m00"])
56
56
  return x,y
57
- except ZeroDivisionError:
57
+ except ZeroDivisionError:
58
- print("ZeroDivisionError!!")
58
+ print("ZeroDivisionError!!")
59
+ def cul_area_size(img):
59
- try:
60
+ try:
60
- def cul_area_size(img):
61
61
  return np.sum(np.sign(img))
62
62
  gravity_coordinate = np.array([cul_gravity_point(front_imgs[i]) for i in range(len(front_imgs))],dtype=np.dtype("uint32"))
63
63
  area = np.array([cul_area_size(front_imgs[i]) for i in range(len(front_imgs))])
64
- except ZeroDivisionError:
64
+ except ZeroDivisionError:
65
- print("ZeroDivisionError!!!")
65
+ print("ZeroDivisionError!!!")
66
66
  ```
67
67
  また例外処理をした際に、ZeroDivisionErrorを返していると予想されるフレーム付近を切り取ったりしてみました。
68
68
  その場合は上手くコードが動いてくれるのですが、もっと良い解決策を知っている方いらっしゃれば教えてください。

1

コードの修正

2020/06/20 03:32

投稿

yumiwo
yumiwo

スコア5

title CHANGED
File without changes
body CHANGED
@@ -28,6 +28,42 @@
28
28
  ```
29
29
 
30
30
  対策として、例外処理を行ったり、if文を書いたりしてみましたが動画によってエラーが消えたり消えなかったりしました。
31
+
32
+
33
+ ```
34
+ #if文を入れたバージョンです
35
+
36
+ def cul_gravity_point(img):
37
+ mu = cv2.moments(img, False)
38
+ x,y= int(mu["m10"]/mu["m00"]) , int(mu["m01"]/mu["m00"])
39
+ if mu["m00"] == 0:
40
+ return float("none")
41
+ else:
42
+ return x,y
43
+ def cul_area_size(img):
44
+ return np.sum(np.sign(img))
45
+ gravity_coordinate = np.array([cul_gravity_point(front_imgs[i]) for i in range(len(front_imgs))],dtype=np.dtype("uint32"))
46
+ area = np.array([cul_area_size(front_imgs[i]) for i in range(len(front_imgs))])
47
+
48
+ ```
49
+
50
+ ```
51
+ #例外処理をしたバージョンです
52
+ try:
53
+ def cul_gravity_point(img):
54
+ mu = cv2.moments(img, False)
55
+ x,y= int(mu["m10"]/mu["m00"]) , int(mu["m01"]/mu["m00"])
56
+ return x,y
57
+ except ZeroDivisionError:
58
+ print("ZeroDivisionError!!")
59
+ try:
60
+ def cul_area_size(img):
61
+ return np.sum(np.sign(img))
62
+ gravity_coordinate = np.array([cul_gravity_point(front_imgs[i]) for i in range(len(front_imgs))],dtype=np.dtype("uint32"))
63
+ area = np.array([cul_area_size(front_imgs[i]) for i in range(len(front_imgs))])
64
+ except ZeroDivisionError:
65
+ print("ZeroDivisionError!!!")
66
+ ```
31
67
  また例外処理をした際に、ZeroDivisionErrorを返していると予想されるフレーム付近を切り取ったりしてみました。
32
68
  その場合は上手くコードが動いてくれるのですが、もっと良い解決策を知っている方いらっしゃれば教えてください。
33
69