回答編集履歴
4
w
answer
CHANGED
@@ -3,15 +3,11 @@
|
|
3
3
|
何か各ブロックを認識できるいい方法はございませんか。
|
4
4
|
|
5
5
|
|
6
|
-

|
7
|
-

|
8
6
|
|
9
7
|
|
10
8
|
|
11
9
|
|
12
10
|
|
13
|
-
|
14
|
-
|
15
11
|
・インデントについて学び、for文の範囲を考え、下記のプログラムに変更することで一括処理をすることができました。
|
16
12
|
|
17
13
|
```python
|
3
ブロックの認識、for文の変更
answer
CHANGED
@@ -1,5 +1,19 @@
|
|
1
|
+
・ブロックの認識ですが、[OpenCVで切れてしまっている輪郭を抽出したい](https://teratail.com/questions/147683)で挙げられているadaptiveThreshold()のcv2.ADAPTIVE_THRESH_GAUSSIAN_Cで処理を行うと、下の画像のようにいい感じにブロックをハッキリと表すことができました。
|
2
|
+
しかし、ブロックの輪郭が繋がっていないため、輪郭抽出することができません。また、ハフ変換により直線検出により、輪郭抽出を行い、面積の大きさによりブロック以外の面積をフィルタしようとしましたが、直線を検知しすぎて上手くいきませんでした。もしかしたら、値の設定など上手くできていなかったのかもしれませんが。。。
|
1
|
-
|
3
|
+
何か各ブロックを認識できるいい方法はございませんか。
|
2
4
|
|
5
|
+
|
6
|
+

|
7
|
+

|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
・インデントについて学び、for文の範囲を考え、下記のプログラムに変更することで一括処理をすることができました。
|
16
|
+
|
3
17
|
```python
|
4
18
|
for i in range(1,288):
|
5
19
|
img = cv2.imread('images/video/frame_{0:03}.png'.format(i))
|
2
for文の変更
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
インデントについて学び、for文の範囲を考え、下記のプログラムに変更することで一括処理をすることができました。
|
2
2
|
|
3
3
|
```python
|
4
4
|
for i in range(1,288):
|
1
for文の変更
answer
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
-
for文のおいてはこちらで
|
1
|
+
for文のおいてはこちらに変更しましたがしましたが、frame_288.pngのブロックを検出した画像が、frame_001287.png.png~frame_287.png.pngの名前で保存されるようになってしましました。
|
2
2
|
|
3
3
|
```python
|
4
4
|
for i in range(1,288):
|
5
5
|
img = cv2.imread('images/video/frame_{0:03}.png'.format(i))
|
6
|
+
```
|
7
|
+
```python
|
8
|
+
for i in range(1,288):
|
9
|
+
|
10
|
+
cv2.imwrite('images/aaa/frame_{0:03}.png'.format(i), img)
|
6
11
|
```
|