Mat::ones(1, n, CV_32FC1) / n;这行代码生成一个卷积核,我想问一下CV_32FC1在这个函数里代表什么?
另外,他生成的卷积核应该长什么样子?
32FC1表示32位浮点数,即float,c1指的是channel1即只有一个通道。
1,n 是1*n 的矩阵
CV_32FC1 。 建议打开工程,然后,点击CV_32FC1 ,转到源码查看。 几次追溯后就看明白。
从字面意思 32F 是数据类型 指folat类型,C1是通道数=1。
搜索引擎都能搜到。
如何在OpenCV中找到Mat对象的类型::type()?
https://cloud.tencent.com/developer/ask/108726
string type2str(int type) {
string r;
uchar depth = type & CV_MAT_DEPTH_MASK;
uchar chans = 1 + (type >> CV_CN_SHIFT);
switch ( depth ) {
case CV_8U: r = "8U" ; break;
case CV_8S: r = "8S" ; break;
case CV_16U: r = "16U" ; break;
case CV_16S: r = "16S" ; break;
case CV_32S: r = "32S" ; break;
case CV_32F: r = "32F" ; break;
case CV_64F: r = "64F" ; break;
default: r = "User"; break;
}
r += "C";
r += (chans+'0');
return r;
}
// Value C1 C2 C3 C4 C5 C6 C7 C8
// ====== == == == == == == == ==
// CV_8U 0 8 16 24 32 40 48 56
// CV_8S 1 9 17 25 33 41 49 57
// CV_16U 2 10 18 26 34 42 50 58
// CV_16S 3 11 19 27 35 43 51 59
// CV_32S 4 12 20 28 36 44 52 60
// CV_32F 5 13 21 29 37 45 53 61
// CV_64F 6 14 22 30 38 46 54 62