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

質問編集履歴

1

2020/01/09 10:03

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,30 +1,3 @@
1
- 現在pythoを使って画像認識プログラムを構築しています。
2
- 環境はwindous,python3,opencv3です。
3
-
4
- 下のようなブロックで分けられた資料に、ランダムに動く青丸印が示されている動画に対して、各ブロックに青い丸印が入ると各マスのカウントを+1として、各ブロックに青い丸印が何回入ったかを自動で検出できるプログラムを構築しています。
5
-
6
- 現在[OpenCVでの表のセルの認識方法](https://teratail.com/questions/151317)こちらを参考に、下の図のように各ブロックを検出することができました。
7
- しかし、最終目標である、各ブロックに青い丸印が入った際にその回数をカウントするプログラムへの持っていきかたが分からず困っております。
8
- また、動画をフレーム分割した各画像のブロックを正しく識別するためには、各画像ごとにエッジ検出の値や、面積でのフィルタリングする際の面積の大きさを手作業で変えなければならず、困っております。なにか良い方法はございますでしょうか。
9
- 最後に、for文をつかってフォルダ内にある、「frame_001.png~frame_200.png」までの画像にこのプログラムを適応するためにはどのようなfor文を追加すればよいでしょうか。
10
- 試したものの、インデントエラーがでてしまいできませんでした。
11
-
12
- 質問をまとめさせていただきますと
13
- ・各ブロックに青い丸印が入った際、入った回数を各ブロックごとに分けてカウントする方法
14
- ・各フレーム画像に対し、手作業でエッジ検出の値を変えなくても、自動で正しい値でブロックを検出する方法
15
- ・連続画像へプログラムを適応するfor文の書き方
16
- です。
17
-
18
- 拙い文章で申し訳ございませんが、どなたかご教授お願いいたします。
19
-
20
-
21
- ![画像認識後](51b0c673a50c6c852763be6569c70ad2.jpeg)
22
-
23
-
24
- ```
25
- import cv2
26
- import numpy as np!
27
-
28
1
  img = cv2.imread('video/frame_109.png')
29
2
 
30
3
  # BGR -> グレースケール