有时候我们需要在程序中显示一个小十字架,比如在定位跟踪的时候,而OpenCV中并没有现成的函数,因此需要自己写一个,其实也很简单,就是两条相互垂直的直线罢了。
以下给出一个简单的实现方法:
1 /**
2 * 绘制十字
3 * @param[in] img 目标图像
4 * @param[in] point 十字中心点
5 * @param[in] color 颜色
6 * @param[in] size 十字尺寸
7 * @param[in] thickness 粗细
8 */
9 void drawCross(cv::Mat img, cv::Point2d point, cv::Scalar color,int size,int thickness)
10 {
11 //绘制横线
12 cv::line(img,cv::Point2d(point.x-size/2,point.y),cv::Point2d(point.x+size/2,point.y),color,thickness,cv::LINE_AA,0);
13 //绘制竖线
14 cv::line(img,cv::Point2d(point.x,point.y-size/2),cv::Point2d(point.x,point.y+size/2),color,thickness,cv::LINE_AA,0);
15
16 return;
17 }