Ответ 1
Здесь вы можете увидеть некоторые из возможностей быстрого доступа к элементу.
Но если вы хотите сделать это по-своему, вам нужно добавить скобку. В противном случае вы неверно вычисляете индексы:
for(int i=0; i<A.rows; i++){
for(int j=0; j<A.cols; j++){
A.data[A.channels()*(A.cols*i + j) + 0] = 0;
A.data[A.channels()*(A.cols*i + j) + 1] = 0;
A.data[A.channels()*(A.cols*i + j) + 2] = 0;
}
}
Но макет памяти не гарантированно будет смежным из-за заполнения. Итак, согласно this, вы должны использовать формулу следующим образом:
for(int i=0; i<A.rows; i++){
for(int j=0; j<A.cols; j++){
A.data[A.step[0]*i + A.step[1]* j + 0] = 0;
A.data[A.step[0]*i + A.step[1]* j + 1] = 0;
A.data[A.step[0]*i + A.step[1]* j + 2] = 0;
}
}