void DrawCross(cv::Mat & mat, cv::Point2i ptCenter, cv::Scalar color, double dFactor)
{
double dAxisOffset = 12;
double dAxisLen = 24 * 10 + 12 - dAxisOffset;
// 坐标轴属性 0=Y+ 1=X+ 2=Y- 3=X-
double dDirX[] = { 0, 1, 0, -1 };
double dDirY[] = { -1, 0, 1, 0 };
// 刻度属性
int nLabelSize = 9 + 5;
double dLabelStep[] = { 12, 12, 12, 12, 12, 12, 12, 12, 12, 24, 24, 24, 24, 24 };
double dLabelHeight[] = { 12, 6, 12, 6, 12, 6, 12, 6, 12, 12, 12, 12, 12, 12 };
// 字符属性
int nIdx5 = 8;
int nIdx10 = 13;
double nCharOffset = 6;
double dCharH = 0;
double dCharW = 0;
for (int i = 0; i < 4; i++)
{
cv::Point AxisPtS, AxisPtE;
// 绘制轴
AxisPtS.x = ptCenter.x + dAxisOffset / dFactor * dDirX[i];
AxisPtS.y = ptCenter.y + dAxisOffset / dFactor * dDirY[i];
AxisPtE.x = AxisPtS.x + dAxisLen / dFactor * dDirX[i];
AxisPtE.y = AxisPtS.y + dAxisLen / dFactor * dDirY[i];
cv::line(mat, AxisPtS, AxisPtE, color, 1);
// 绘制刻度
double nSumStep = 0;
for (int j = 0; j <
OpenCV 绘制十字Mark标
最新推荐文章于 2024-10-24 20:18:16 发布

最低0.47元/天 解锁文章
1016

被折叠的 条评论
为什么被折叠?



