1
uchar value =grayim.at<uchar>(i,j);
for ( int i = 0 ;i<grayim.rows;++i)
for(int j =0;j<grayim.cols;++j)
grayim.at<uchar>(i,j) = (i+j)%255;
for( int i=0;i<colorim.rows;++i)
for(int j =0;j<colorim.cols;++j)
{
Vec3b pixel;
pixel[0] =i%255;//Blue
pixel[1] =j%255;//Green
pixel[2] =0;//Red
colorim.at<Vec3b>(i,j) =pixel;
}
2使用迭代器
cv::Mat Iterator_<uchar>grayit,grayend;
for(grayit = grayim.begin<uchar>(),grayend=grayim.end<uchar>();grayit !=grayend;++grayit)
*grayit = rand()%255;
MatIterator_<Vec3b> colorit,colorend;
for( colorit =colorim.begin<Vec3b>(),colorend =colorim.end<Vec3b>();color !=colorend; ++colorit)
{
(*colorit)[0] = rand()%255; //Blue
(*colorit)[1] =rand()%255;//Green
(*colorit)[2] =rand()%255;//Red
3指针
for ( int i =0;o<grayim.rows; ++i)
{
uchar*p =grayim.ptr<uchar>(i);
for(int j=0 ;j<grayim.cols;++j)
p[j] =(i+j)%255;
}