質問するログイン新規登録

質問編集履歴

2

表記ミス

2017/07/06 02:36

投稿

ponpo5555
ponpo5555

スコア9

title CHANGED
File without changes
body CHANGED
@@ -2,19 +2,6 @@
2
2
  しかし、画像が少し大きくなるとStackOverflowExceptionを起こしてしまいます。
3
3
  ソースコードは下記のとおりです。
4
4
  ```C#
5
- for (int i = 0; i < height; i++)
6
- {
7
- for(int j = 0; j < width; j++)
8
- {
9
- if(img.GetPixel(j, i) == White)
10
- {
11
- Expansion(i,j);
12
- count++;
13
- }
14
- }
15
- }
16
-
17
- /*再帰処理*/
18
5
  int Expansion(int y, int x)
19
6
  {
20
7
  if ((x >= width) || (x < 0) || (y >= height) || (y < 0)) return 1;
@@ -38,6 +25,5 @@
38
25
  ```
39
26
 
40
27
  この再帰処理をスタック、もしくはキューで書き換えたいです。
41
- 特にわからないところとしては、再帰以外で、8方向に処理をもっていく方法です。
42
28
  具体的なプログラムがあると、助かります。
43
29
  何卒お力添えいただければ幸いです。

1

ありがとうございました。

2017/07/06 02:36

投稿

ponpo5555
ponpo5555

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,7 @@
1
- 2値化した画像の連結成分の個数を数え上げるプログラムを作成しています。
2
- 今は再帰処理を使って、連結成分の個数をcountで数え上げるプログラムです。
1
+ 今は再帰処理を使って、countで数え上げるプログラムです。
3
2
  しかし、画像が少し大きくなるとStackOverflowExceptionを起こしてしまいます。
4
3
  ソースコードは下記のとおりです。
5
- 2値化し終えた画像の、連結成分の個数を数える部分です。
6
4
  ```C#
7
- /*画素の結合成分数え上げ*/
8
5
  for (int i = 0; i < height; i++)
9
6
  {
10
7
  for(int j = 0; j < width; j++)