質問編集履歴

4

現時点までに解決したことと、タイトルが文意に沿わない形だったので、変更しました。

2020/01/19 23:40

投稿

Royce
Royce

スコア16

test CHANGED
@@ -1 +1 @@
1
- floodFillを用いた二値画像の白黒反転処理がうまくいきません
1
+ floodFillを用いた二値画像の中空部分穴埋めがうまくいきません
test CHANGED
@@ -177,3 +177,23 @@
177
177
 
178
178
 
179
179
  どなた様かお力添え頂きますと、大変助かります。
180
+
181
+
182
+
183
+ ###【更新】現在までの試行錯誤結果
184
+
185
+ ソースコード上では、
186
+
187
+ 画像の読み込み → 二値化 → 穴埋め → 白黒反転
188
+
189
+ の順番でしたが、これを
190
+
191
+ 画像の読み込み → 二値化 → **白黒反転** → **穴埋め**
192
+
193
+ に変更し、
194
+
195
+ `cv2.floodFill(im_floodfill, mask, (100,30), 255)`と穴埋め対象部分を座標指定すると、穴埋めできました。
196
+
197
+ ![イメージ説明](9dcd0456d9ea8c4431457ec9931d92b2.png)
198
+
199
+ あとは、周りのノイジーな白色部分を削除or無視し、真ん中の大きい物体のみに常に(こちらで座標指定せずとも)穴埋めしてくれるとうれしいものです。

3

タイトルをよりわかりやすく改良しました

2020/01/19 23:40

投稿

Royce
Royce

スコア16

test CHANGED
@@ -1 +1 @@
1
- 二値画像の白黒反転処理がうまくいきません
1
+ floodFillを用いた二値画像の白黒反転処理がうまくいきません
test CHANGED
File without changes

2

タイトルをわかりやすくしたのと、ソースコード内の表記を編集しました。

2020/01/19 00:11

投稿

Royce
Royce

スコア16

test CHANGED
@@ -1 +1 @@
1
- 二値画像の白黒反転処理につ
1
+ 二値画像の白黒反転処理がうまくきません
test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
  #Step1.画像の読み込み('filename',0(gray scale) or 1(BGR))
76
76
 
77
- img = cv2.imread('img31.tif', 0)
77
+ img = cv2.imread('test_1.tif', 0)
78
78
 
79
79
  #読み込んだ画像は、img_rawの中に[高さ, 幅, (blue, green, red)]のnumpy_arrayとして読み込まれている。
80
80
 

1

最終的に実現したいことを<追記>として追加しました。

2020/01/18 10:27

投稿

Royce
Royce

スコア16

test CHANGED
File without changes
test CHANGED
@@ -15,6 +15,30 @@
15
15
  ・粒子の形状測定
16
16
 
17
17
  を実行したいと考えています。
18
+
19
+
20
+
21
+ <追記>
22
+
23
+ 二値化は実行できており、現在穴埋め処理でつまづいています。
24
+
25
+ 穴埋めで実現したいのはつぎのとおりです。
26
+
27
+
28
+
29
+ ***粒子の中空(黒)部分の穴埋め***
30
+
31
+ ![白黒反転した状態の二値画像](3ddf43e30687ab10c0b4d7fd42e30af6.png)
32
+
33
+
34
+
35
+ ![粒子の中空(黒)部分の穴埋め](75e5f1744ccecdc0a7b7518e8df9df19.png)
36
+
37
+ ***その後、境界を検出させて描画***
38
+
39
+
40
+
41
+ ![イメージ説明](5aeb8449a1fb506ad55ec62da35acdcd.png)
18
42
 
19
43
  ######実行環境
20
44