0

最近、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];

長い間探しましたが、見つからないだろうと思います。私を助けてください !

4

3 に答える 3

0

データが次のように行と列に分割されている場合:

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];
  }
}
于 2014-10-26T06:15:39.410 に答える