1 //单通道访问:
2 for (int j=0; j< img.rows; j++) //rows
3 {
4 uchar* data= img.data+j*img.cols; //rows address
uchar* ptr=img.ptr<uchar>(j);//跟上一句一样的效果
5 for (int i=0; i< img.cols; i++) //cols
6 {
7 data[i]= 255;
8 } // end of one line
9 }
1 uchar* ptr=img.data;
2 for (int j=0; j< img.rows; j++) //rows
3 {
4 for (int i=0; i< img.cols; i++) //cols
5 {
6 ptr[j*img.cols+i]= 255;
7 } // end of one line
8 }
//3通道访问
1 uchar* ptr=img.data;
2 for (int j=0; j< img.rows; j++) //rows
3 {
4 for (int i=0; i< img.cols*img.channel(); i++) //cols
5 {
6 ptr[(j*img.cols+i)*3+0]= 255;
ptr[(j*img.cols+i)*3+1]= 255;
ptr[(j*img.cols+i)*3+2]= 255;
7 } // end of one line
8 }
2 for (int j=0; j< img.rows; j++) //rows
3 {
4 for (int i=0; i< img.cols*img.channel(); i++) //cols
5 {
6 *(img.data+(j*img.cols+i)*3+0)= 255;
*(img.data+(j*img.cols+i)*3+1)= 255;
*(img.data+(j*img.cols+i)*3+2)= 255;
7 } // end of one line
8 }
for(int i = 0; i < roi.rows; i++)
{
uchar*ptr = roi.ptr<uchar>(i);
for(int j = 0; j < roi.cols; j++)
{
ptr[3*j+0]= 255;
ptr[3* j + 1] = 0;
ptr[3* j + 2] = 0;
}
}