像素访问代码
for(int i = 0; i < mat.rows; ++i) {
for(int j = 0; j < mat.cols; ++j) {
Vec4b&rgba = mat.at<Vec4b>(i, j);
//声明rgba实参来引用mat.at<Vec4b>(i, j)
rgba[0]= UCHAR_MAX;//Blue通道
//saturate_cast使数据不溢出0~255
rgba[1]= saturate_cast<uchar>((float (mat.cols - j)) / ((float)mat.cols) *UCHAR_MAX);//Green通道
rgba[2]= saturate_cast<uchar>((float (mat.rows - i)) / ((float)mat.rows) *UCHAR_MAX);//Red通道
rgba[3] = saturate_cast<uchar>(0.5 * (rgba[1] + rgba[2]));//Alpha通道
}
}
另外,关于实参
int &a = b;
这里的a就是【实参】,a和b指向内存的同一位置,也就是说修改 a或b 都会对 a和b 造成影响