asp网站伪静态规则,强化网站建设,抖音上做我女朋友网站,国家企业年报申报系统官网“ OpenCV和QT坐标系导致绘图精度下降问题。” OpenCV和Qt常用的坐标系都是笛卡尔坐标系#xff0c;但是细微处有些不同。 01 — OpenCV坐标系 OpenCV是图像处理库#xff0c;是以图像像素为一个坐标位置#xff0c;即一个像素对应一个坐标#xff0c;所以其坐标系也叫图像… “ OpenCV和QT坐标系导致绘图精度下降问题。” OpenCV和Qt常用的坐标系都是笛卡尔坐标系但是细微处有些不同。 01 — OpenCV坐标系 OpenCV是图像处理库是以图像像素为一个坐标位置即一个像素对应一个坐标所以其坐标系也叫图像坐标系。如下所示。其中坐标(1,1)表示红色方块的位置。 02 — Qt坐标系 Qt是用于创建图形用户界面GUI应用程序是可以处理亚像素坐标的。坐标(0,0)和(1,0)之间还有很多坐标比如(0.5,0)。具体如下所示。 03 — 两种绘制多边形对比 比如多边形的点集坐标是{(0,0), (1,0), (2,1), (1,2), (0,1)}分别使用Qt和OpenCV去绘制。绿色的轮廓是OpenCV红色的是Qt两者相差较大。当然这是精确到像素级别了如果绘制的轮廓很大不放大看是感受不到差别的。 使用具体的代码绘制对比如下。 opencv代码 const cv::Point* ppt[1] { contour.data() };int npt[] { int(contour.size()) };cv::fillPoly(mask, ppt, npt, 1, cv::Scalar(125,0,0)); 效果如下 Qt代码。 // 设置画笔并绘制多边形painter-setPen(pen);painter-setBrush(Qt::blue); // 不填充painter-drawPolygon(m_points); // 设置画笔并绘制多边形painter-setPen(pen);painter-setBrush(Qt::NoBrush); // 不填充painter-drawPolygon(m_points); 可以看到QT绘制的轮廓相对于OpenCV整体往左上角偏移了一点点轮廓范围也缩小了。