vec3b:表示每一个Vec3b对象中,可以存储3个char(字符型)数据,比如可以用这样的对象,去存储RGB图像中的一个像素点。typedef Vec<uchar, 3> Vec3b;
卷积
加权平均:各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。
void Sharpen(const Mat& myImage,Mat& Result)
{
CV_Assert(myImage.depth() == CV_8U); // 仅接受uchar图像 Result.create(myImage.size(),myImage.type());
const int nChannels = myImage.channels(); for(int j = ; j < myImage.rows-; ++j)
{
const uchar* previous = myImage.ptr<uchar>(j - );
const uchar* current = myImage.ptr<uchar>(j );
const uchar* next = myImage.ptr<uchar>(j + ); uchar* output = Result.ptr<uchar>(j); 16 for(int i= nChannels;i < nChannels*(myImage.cols-1); ++i)
17 {
18 *output++ = saturate_cast<uchar>(5*current[i]
19 -current[i-nChannels] - current[i+nChannels] - previous[i] - next[i]);
20 }
} Result.row().setTo(Scalar());
Result.row(Result.rows-).setTo(Scalar());
Result.col().setTo(Scalar());
Result.col(Result.cols-).setTo(Scalar());
}
data:
核心函数LUT(The Core Function)
ptr与at的区别