質問編集履歴

2

2021/06/19 10:26

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,13 +1,5 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- ![イメージ説明](7de56ba6dfce39b318efce897638de22.png)
4
-
5
- ↑のような顕微鏡の拡大図から、割れの実測値を出力したい。
6
-
7
- そのための手段として、画像内(スクリーンショットで必要な領域を切り取ることを想定)の特定の色の線分の長さをpython,opencvを用いることで出力する、ということが実現したいです。
8
-
9
-
10
-
11
3
  以下の質問にいただいた回答
12
4
 
13
5
   URL: https://teratail.com/questions/342736
@@ -30,10 +22,6 @@
30
22
 
31
23
 
32
24
 
33
- ・誤差という表記をしましたが、真値は実測値(モニタ上の線を定規で直接測った値)としています。
34
-
35
-
36
-
37
25
  ### 発生している問題・エラーメッセージ
38
26
 
39
27
  長めの線や平行な線ならほとんど誤差なく検出できます。しかし、

1

質問の問題点の改善

2021/06/19 10:26

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,24 @@
16
16
 
17
17
 
18
18
 
19
+ 補足
20
+
21
+ ・二値化、contourによる輪郭の検出
22
+
23
+  ここまでは可視化することによって正しい処理がなされていることが確認できました。
24
+
25
+ ・boudingRect,及びnumpyによるベクトルの算出
26
+
27
+  ここからが理解できていません。どのような計算プロセスを経て結果が出力さているのかがわからず、
28
+
29
+  そのため、なぜ誤差が生じているのかもわかっていません。
30
+
31
+
32
+
33
+ ・誤差という表記をしましたが、真値は実測値(モニタ上の線を定規で直接測った値)としています。
34
+
35
+
36
+
19
37
  ### 発生している問題・エラーメッセージ
20
38
 
21
39
  長めの線や平行な線ならほとんど誤差なく検出できます。しかし、
@@ -168,17 +186,37 @@
168
186
 
169
187
  ### 試したこと
170
188
 
171
- 線を引いた後は実際の画像を無視しても問題ないため、
172
-
173
- ・線をばらす
174
-
175
- ・切り取る領域を小さくし、線を密集させる
176
-
177
- など、なべく線が別々に、且つ大きめに検出できるように線のみ移動させる等たのですが、効果はいひとつでした。
189
+ contourの結果を可視化すことで目標とする分(赤/青ともに)正しく認識できていこと確認しました。
178
-
179
- コードに関しては他の手法を調べるなどしましたが、精度が上がるような手法がどれなのか
190
+
180
-
181
- 判別つかず、とりえず試しみようにまく動かせな、といった状態です。
191
+ 線分どんな状態でても輪郭の検出では上手行ってす。
192
+
193
+ しかし、実現したいことにあるような
194
+
195
+  ・短めの線が多数
196
+
197
+  ・線同士が重なり合っている
198
+
199
+ といった状況だと出力される値(boudingRect→numpyによる計算)に誤差が生じてしまいます。
200
+
201
+
202
+
203
+ contourAreaによる面積の算出、arcLengthによる周囲長さの算出も試しましたが、
204
+
205
+   面積:以下のような状況で、何故か出力が0になってしまう事がある
206
+
207
+    ・輪郭を正しく認識できている
208
+
209
+    ・引数として渡しているcontourの結果(contours)の中身には座標の値が入っている
210
+
211
+   周囲長さ:基準線は線分を1本のみ、赤い線分は複数検出ため、赤い線分の値が大きくなってしまう
212
+
213
+ といった問題が発生しており、上手く行っていません。
214
+
215
+
216
+
217
+ boudingRect,及びnumpyによるベクトルの算出については自分なりに調べてみましたが、最終的に何を求めているのか、理解ができていません。
218
+
219
+
182
220
 
183
221
  ### 補足情報(FW/ツールのバージョンなど)
184
222