续学习Opencv(蝴蝶书/C++)——4.图形和大型数组类型(上)
上面的at
和ptr
,迭代器-MatConstIterator_
和NAryMatIterator
分别用来访问单个元素和序列访问,是比较灵活的访问方式。
还有一些访问特定内容的快速方式,比如:访问单行,单列,多行,多列和对角线等。
逐元素比较,返回0或者255的uchar矩阵
关于求解逆矩阵使用的默认分解方式,可以看看:
高斯
,OpenCV会通过saturation casting
(饱和转换)在进行算术运算或者其他操作时自动检查上溢和下溢。
saturate.hpp File Reference 和 saturate_cast()
Template<typename _Tp >
static _Tp cv::saturate_cast (uchar v)
// cv::saturate_cast有11个构造函数
这个模版函数用于精确地把一种基本类型转为另一种基本类型,当值超出当前类型的范围时,不只是简单的保留低位的数值,而是进行裁剪clip,例如:
uchar a = saturate_cast<uchar>(-100); // a = 0 (UCHAR_MIN)
// uchar类型的最小值是0, 这里会把-100转为0
short b = saturate_cast<short>(33333.33333); // b = 32767 (SHRT_MAX)
// short类型的最大值是 32767,因此会把大于32767的都置为32767
可以保证