最近、c++ opencv を使用した画像処理を検討しています。そして、行列の各列または行を「または」にする必要があります。例えば
A =[1 0 1 0;
0 0 0 0;
0 1 0 0];
I need to take for row
Ans = [1 1 1 0];
for column
Ans =[1;
0;
1];
長い間探しましたが、見つからないだろうと思います。私を助けてください !
最近、c++ opencv を使用した画像処理を検討しています。そして、行列の各列または行を「または」にする必要があります。例えば
A =[1 0 1 0;
0 0 0 0;
0 1 0 0];
I need to take for row
Ans = [1 1 1 0];
for column
Ans =[1;
0;
1];
長い間探しましたが、見つからないだろうと思います。私を助けてください !
データが次のように行と列に分割されている場合:
const int rows = 3;
const int cols = 4;
int A[rows][cols] = {1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0};
次に、次を使用できます。
int ansrow[cols], anscol[rows];
int i, j;
for (i = 0; i < cols; i++ ){
ansrow[i] = 0;
for (j = 0; j < rows; j++ ){
ansrow[i] |= A[i][j];
}
}
for (i = 0; i < rows; i++ ){
anscol[i] = 0;
for (j = 0; j < cols; j++ ){
anscol[i] |= A[i][j];
}
}