1. 传统的MSR,是分别对RGB三个channel进行多尺寸滤波,为了保证颜色不失真,或是节省时间取RGB最大值对RGB整体滤波,均需要分清RGB的存储,下图为RGB图像被opencv中imread函数读入mat后的存储模式。
2. 从color image 转化为gray image,可用opencv的函数
不用opencv函数的话,还有直接用RGB值推导灰度值,但是计算公式有几个,优劣见http://entropymine.com/imageworsener/grayscale/
3. 新建一个mat,可用函数
//inline Mat::Mat(int _rows, int _cols, int _type, const Scalar& _s)
Mat m1 = Mat(1,1, CV_64F, cvScalar(0.));
4. 从mat中找到某一位置的像素点
For grayscale you would use it like this,
image.at<uchar>(Point(x,y)) <