一个 IoU 计算牵出的类型体系——OpenCV 几何与代数原语源码全链路拆解

📅 发布时间:2026/7/13 17:16:22 👁️ 浏览次数:
一个 IoU 计算牵出的类型体系——OpenCV 几何与代数原语源码全链路拆解
一、为什么要拆基础数据类型前面几篇把 Mat 的内存布局、引用计数、MatExpr 延迟计算、UMat 透明 API、fastMalloc 内存分配都拆过了。这些文章里反复出现一批"配角"——Point2f、Rect、Scalar、Size——用得很顺手,但从来没认真看过它们的源码。直到有天写目标检测后处理,需要手搓一个 NMS(非极大值抑制)。NMS 的核心是 IoU(Intersection over Union,交并比)计算,代码大概长这样:doublecomputeIoU(constcv::Recta,constcv::Rect