使用OpenCV在图像上绘制带刻度线的十字线,可以通过以下步骤实现。我们将首先找到图像的中心点,然后绘制水平和垂直线,并在这些线的适当位置绘制刻度线。以下是详细的C++代码示例:
#include<opencv2\opencv.hpp>
//画十字标注线带刻度线,以图像中心点为0点
void DrawCross_new(cv::Mat& mat, double dFactor)
{cv::Scalar color = cv::Scalar(0, 0, 255);if (mat.empty()){return;}int nSizeFace = cv::FONT_HERSHEY_PLAIN;int ShortLineSize = 6;int LenghtLineSize = 12;double testsie = 0.35;int Linesize = 1;cv::Point CenterPoint = cv::Point(mat.cols / 2.0, mat.rows / 2.0);cv::Point Point{};//画十字对角cv::line(mat, cv::Point(CenterPoint.x, 0), cv::Point(CenterPoint.x, mat.rows), color, 1);//竖线cv::line(mat, cv::Point(0, CenterPoint.y), cv::Point(mat.cols, CenterPoint.y), color, 1);//横线//画X左刻度线for (int i_left = 1; i_left < int(CenterPoint.x / dFactor) + 1; i_left++){Point =