回答編集履歴
3
update
answer
CHANGED
@@ -22,6 +22,8 @@
|
|
22
22
|
}
|
23
23
|
```
|
24
24
|
|
25
|
+
もう少しすっきりした書き方として、与えられた画像領域の平均画素値を求める[`cv::mean`](http://opencv.jp/opencv-2.1/cpp/operations_on_arrays.html#cv-mean)が利用できます。同関数により内側の2重ループは不要とできます。
|
26
|
+
|
25
27
|
> 3:配列にしっかりと数字が入ったのかの確認がうまくできない。
|
26
28
|
|
27
29
|
質問意図を汲み取れないのですが、printfデバッグでは不十分という事でしょうか?なお、質問中のコードではあなたの期待通り動かないでしょう。
|
2
update
answer
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
> 3:配列にしっかりと数字が入ったのかの確認がうまくできない。
|
26
26
|
|
27
|
-
質問意図を汲み取れないのですが、printfデバッグでは不十分という事でしょうか?
|
27
|
+
質問意図を汲み取れないのですが、printfデバッグでは不十分という事でしょうか?なお、質問中のコードではあなたの期待通り動かないでしょう。
|
28
28
|
|
29
29
|
---
|
30
30
|
> Matを使わずIPLIMAGEでオセロを作りたいのですが、
|
1
update
answer
CHANGED
@@ -4,8 +4,24 @@
|
|
4
4
|
|
5
5
|
> 2:マスを左上から順に見ていくときの始まりと終わりの書き方
|
6
6
|
|
7
|
-
|
7
|
+
素直に書き下すならば、3x3マス単位の2重ループを用意し、さらに各マス内の画素走査を行う2重ループ構造になります。(つまり4重ループ)
|
8
8
|
|
9
|
+
```C++
|
10
|
+
for (int block_y = 0; block_y < 3; block_y++) {
|
11
|
+
for (int block_x = 0; block_x < 3; block_x++) {
|
12
|
+
int block_left; // 位置(block_x, block_y)マスの左上X座標 を計算
|
13
|
+
int block_top; // 位置(block_x, block_y)マスの左上Y座標 を計算
|
14
|
+
int block_right; // 位置(block_x, block_y)マスの右下X座標+1 を計算
|
15
|
+
int block_bottom; // 位置(block_x, block_y)マスの右下Y座標+1 を計算
|
16
|
+
for (int y = block_top; y < block_bottom; y++) {
|
17
|
+
for (int x = block_left; x < block_right; x++) {
|
18
|
+
// 画素(x,y)にアクセス
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
```
|
24
|
+
|
9
25
|
> 3:配列にしっかりと数字が入ったのかの確認がうまくできない。
|
10
26
|
|
11
27
|
質問意図を汲み取れないのですが、printfデバッグでは不十分という事でしょうか?
|