質問編集履歴
4
現時点までに解決したことと、タイトルが文意に沿わない形だったので、変更しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
floodFillを用いた二値画像の
|
1
|
+
floodFillを用いた二値画像の中空部分穴埋めがうまくいきません
|
body
CHANGED
@@ -87,4 +87,14 @@
|
|
87
87
|
と考えています。
|
88
88
|
しかし、当方画像処理やopenCVの知識に乏しく、原因を解明できない状況です。次の境界検出・描画へ移行できるよう、なんとか解決したいと思っております。
|
89
89
|
|
90
|
-
どなた様かお力添え頂きますと、大変助かります。
|
90
|
+
どなた様かお力添え頂きますと、大変助かります。
|
91
|
+
|
92
|
+
###【更新】現在までの試行錯誤結果
|
93
|
+
ソースコード上では、
|
94
|
+
画像の読み込み → 二値化 → 穴埋め → 白黒反転
|
95
|
+
の順番でしたが、これを
|
96
|
+
画像の読み込み → 二値化 → **白黒反転** → **穴埋め**
|
97
|
+
に変更し、
|
98
|
+
`cv2.floodFill(im_floodfill, mask, (100,30), 255)`と穴埋め対象部分を座標指定すると、穴埋めできました。
|
99
|
+

|
100
|
+
あとは、周りのノイジーな白色部分を削除or無視し、真ん中の大きい物体のみに常に(こちらで座標指定せずとも)穴埋めしてくれるとうれしいものです。
|
3
タイトルをよりわかりやすく改良しました
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
二値画像の白黒反転処理がうまくいきません
|
1
|
+
floodFillを用いた二値画像の白黒反転処理がうまくいきません
|
body
CHANGED
File without changes
|
2
タイトルをわかりやすくしたのと、ソースコード内の表記を編集しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
二値画像の白黒反転処理
|
1
|
+
二値画像の白黒反転処理がうまくいきません
|
body
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
import numpy as np
|
37
37
|
|
38
38
|
#Step1.画像の読み込み('filename',0(gray scale) or 1(BGR))
|
39
|
-
img = cv2.imread('
|
39
|
+
img = cv2.imread('test_1.tif', 0)
|
40
40
|
#読み込んだ画像は、img_rawの中に[高さ, 幅, (blue, green, red)]のnumpy_arrayとして読み込まれている。
|
41
41
|
|
42
42
|
#Step2.二値画像を取得(適応的しきい値処理)
|
1
最終的に実現したいことを<追記>として追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,6 +7,18 @@
|
|
7
7
|
・境界検出と描画
|
8
8
|
・粒子の形状測定
|
9
9
|
を実行したいと考えています。
|
10
|
+
|
11
|
+
<追記>
|
12
|
+
二値化は実行できており、現在穴埋め処理でつまづいています。
|
13
|
+
穴埋めで実現したいのはつぎのとおりです。
|
14
|
+
|
15
|
+
***粒子の中空(黒)部分の穴埋め***
|
16
|
+

|
17
|
+
↓
|
18
|
+

|
19
|
+
***その後、境界を検出させて描画***
|
20
|
+
↓
|
21
|
+

|
10
22
|
######実行環境
|
11
23
|
Windows10
|
12
24
|
Python3.6.5
|