回答編集履歴
4
w
test
CHANGED
@@ -3,14 +3,6 @@
|
|
3
3
|
しかし、ブロックの輪郭が繋がっていないため、輪郭抽出することができません。また、ハフ変換により直線検出により、輪郭抽出を行い、面積の大きさによりブロック以外の面積をフィルタしようとしましたが、直線を検知しすぎて上手くいきませんでした。もしかしたら、値の設定など上手くできていなかったのかもしれませんが。。。
|
4
4
|
|
5
5
|
何か各ブロックを認識できるいい方法はございませんか。
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
![処理後](a922c1866cf143464583f395daa445d4.png)
|
12
|
-
|
13
|
-
![処理後](6f0db1c48ae13e15772c57b1c7d0bbf8.png)
|
14
6
|
|
15
7
|
|
16
8
|
|
3
ブロックの認識、for文の変更
test
CHANGED
@@ -1,4 +1,32 @@
|
|
1
|
+
・ブロックの認識ですが、[OpenCVで切れてしまっている輪郭を抽出したい](https://teratail.com/questions/147683)で挙げられているadaptiveThreshold()のcv2.ADAPTIVE_THRESH_GAUSSIAN_Cで処理を行うと、下の画像のようにいい感じにブロックをハッキリと表すことができました。
|
2
|
+
|
3
|
+
しかし、ブロックの輪郭が繋がっていないため、輪郭抽出することができません。また、ハフ変換により直線検出により、輪郭抽出を行い、面積の大きさによりブロック以外の面積をフィルタしようとしましたが、直線を検知しすぎて上手くいきませんでした。もしかしたら、値の設定など上手くできていなかったのかもしれませんが。。。
|
4
|
+
|
5
|
+
何か各ブロックを認識できるいい方法はございませんか。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
![処理後](a922c1866cf143464583f395daa445d4.png)
|
12
|
+
|
13
|
+
![処理後](6f0db1c48ae13e15772c57b1c7d0bbf8.png)
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
1
|
-
インデントについて学び、for文の範囲を考え、下記のプログラムに変更することで一括処理をすることができました。
|
29
|
+
・インデントについて学び、for文の範囲を考え、下記のプログラムに変更することで一括処理をすることができました。
|
2
30
|
|
3
31
|
|
4
32
|
|
2
for文の変更
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
for文の
|
1
|
+
インデントについて学び、for文の範囲を考え、下記のプログラムに変更することで一括処理をすることができました。
|
2
2
|
|
3
3
|
|
4
4
|
|
1
for文の変更
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
for文のおいてはこちらで
|
1
|
+
for文のおいてはこちらに変更しましたがしましたが、frame_288.pngのブロックを検出した画像が、frame_001287.png.png~frame_287.png.pngの名前で保存されるようになってしましました。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -9,3 +9,13 @@
|
|
9
9
|
img = cv2.imread('images/video/frame_{0:03}.png'.format(i))
|
10
10
|
|
11
11
|
```
|
12
|
+
|
13
|
+
```python
|
14
|
+
|
15
|
+
for i in range(1,288):
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
cv2.imwrite('images/aaa/frame_{0:03}.png'.format(i), img)
|
20
|
+
|
21
|
+
```
|