質問編集履歴
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,4 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-

|
3
|
-
↑のような顕微鏡の拡大図から、割れの実測値を出力したい。
|
4
|
-
そのための手段として、画像内(スクリーンショットで必要な領域を切り取ることを想定)の特定の色の線分の長さをpython,opencvを用いることで出力する、ということが実現したいです。
|
5
|
-
|
6
2
|
以下の質問にいただいた回答
|
7
3
|
URL: https://teratail.com/questions/342736
|
8
4
|
から、実測値を出力することまではできました。
|
@@ -14,8 +10,6 @@
|
|
14
10
|
ここからが理解できていません。どのような計算プロセスを経て結果が出力さているのかがわからず、
|
15
11
|
そのため、なぜ誤差が生じているのかもわかっていません。
|
16
12
|
|
17
|
-
・誤差という表記をしましたが、真値は実測値(モニタ上の線を定規で直接測った値)としています。
|
18
|
-
|
19
13
|
### 発生している問題・エラーメッセージ
|
20
14
|
長めの線や平行な線ならほとんど誤差なく検出できます。しかし、
|
21
15
|
・↑の画像のように線が斜めに交差している場合(実際はもう少し複雑に分岐)
|
1
質問の問題点の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,6 +7,15 @@
|
|
7
7
|
URL: https://teratail.com/questions/342736
|
8
8
|
から、実測値を出力することまではできました。
|
9
9
|
|
10
|
+
補足
|
11
|
+
・二値化、contourによる輪郭の検出
|
12
|
+
ここまでは可視化することによって正しい処理がなされていることが確認できました。
|
13
|
+
・boudingRect,及びnumpyによるベクトルの算出
|
14
|
+
ここからが理解できていません。どのような計算プロセスを経て結果が出力さているのかがわからず、
|
15
|
+
そのため、なぜ誤差が生じているのかもわかっていません。
|
16
|
+
|
17
|
+
・誤差という表記をしましたが、真値は実測値(モニタ上の線を定規で直接測った値)としています。
|
18
|
+
|
10
19
|
### 発生している問題・エラーメッセージ
|
11
20
|
長めの線や平行な線ならほとんど誤差なく検出できます。しかし、
|
12
21
|
・↑の画像のように線が斜めに交差している場合(実際はもう少し複雑に分岐)
|
@@ -83,12 +92,22 @@
|
|
83
92
|
```
|
84
93
|
|
85
94
|
### 試したこと
|
86
|
-
線を引いた後は実際の画像を無視しても問題ないため、
|
87
|
-
・線をばらす
|
88
|
-
・切り取る領域を小さくし、線を密集させる
|
89
|
-
|
95
|
+
contourの結果を可視化することで目標とする線分(赤/青ともに)が正しく認識できていることを確認しました。
|
90
|
-
コードに関しては他の手法を調べるなどしましたが、精度が上がるような手法がどれなのか
|
91
|
-
|
96
|
+
線分がどんな状態であっても輪郭の検出までは上手く行っています。
|
97
|
+
しかし、実現したいことにあるような
|
98
|
+
・短めの線が多数
|
99
|
+
・線同士が重なり合っている
|
100
|
+
といった状況だと出力される値(boudingRect→numpyによる計算)に誤差が生じてしまいます。
|
101
|
+
|
102
|
+
contourAreaによる面積の算出、arcLengthによる周囲長さの算出も試しましたが、
|
103
|
+
面積:以下のような状況で、何故か出力が0になってしまう事がある
|
104
|
+
・輪郭を正しく認識できている
|
105
|
+
・引数として渡しているcontourの結果(contours)の中身には座標の値が入っている
|
106
|
+
周囲長さ:基準線は線分を1本のみ、赤い線分は複数検出ため、赤い線分の値が大きくなってしまう
|
107
|
+
といった問題が発生しており、上手く行っていません。
|
108
|
+
|
109
|
+
boudingRect,及びnumpyによるベクトルの算出については自分なりに調べてみましたが、最終的に何を求めているのか、理解ができていません。
|
110
|
+
|
92
111
|
### 補足情報(FW/ツールのバージョンなど)
|
93
112
|
python3.8
|
94
113
|
anaconda
|