当前位置: 首页 > news >正文

OpenCV绘图函数(5)绘制标记函数drawMarker()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::drawMarker 函数在 OpenCV 中用于在一个给定的位置上绘制标记。目前支持几种不同的标记类型,具体信息可以参考 MarkerTypes

函数原型

void cv::drawMarker	
(
	InputOutputArray 	img,
	Point 	position,
	const Scalar & 	color,
	int 	markerType = MARKER_CROSS,
	int 	markerSize = 20,
	int 	thickness = 1,
	int 	line_type = 8 
)		

参数

  • 参数img 图像.
  • 参数position 十字准星所在的位置点
  • 参数color 线条颜色
  • 参数markerType 您想要使用的标记类型,参见 MarkerTypes
  • 参数thickness 线条粗细
  • 参数line_type 线条类型,参见 LineTypes
  • 参数markerSize 标记轴的长度 [默认 = 20 像素]

代码示例

#include <iostream>
#include <opencv2/opencv.hpp>

int main()
{
    // 创建一个空白图像
    cv::Mat image = cv::Mat::zeros( 500, 500, CV_8UC3 );

    // 设置标记参数
    cv::Point position( 40, 40 );       // 标记位置
    cv::Scalar color( 0, 0, 255 );      // 标记颜色(BGR格式)
    int markerType = cv::MARKER_CROSS;  // 标记类型 十字形标记形状。
    int markerSize = 50;                // 标记大小
    int thickness  = 2;                 // 标记线条厚度
    int line_type  = cv::LINE_8;        // 线条类型

    // 绘制标记
    cv::drawMarker( image, position, color, markerType, markerSize, thickness, line_type );

    // 45度倾斜的十字形标记形状
    markerType = cv::MARKER_TILTED_CROSS;
    position   = cv::Point( 90, 90 );
    cv::drawMarker( image, position, color, markerType, markerSize, thickness, line_type );

    //星形标记形状,是十字形和倾斜十字形的组合
    markerType = cv::MARKER_STAR;
    position   = cv::Point( 150, 150 );
    cv::drawMarker( image, position, color, markerType, markerSize, thickness, line_type );

    //菱形标记形状。
    markerType = cv::MARKER_DIAMOND;
    position   = cv::Point( 210, 210 );
    cv::drawMarker( image, position, color, markerType, markerSize, thickness, line_type );

    //  正方形标记形状。
    markerType = cv::MARKER_SQUARE;
    position   = cv::Point( 270, 270 );
    cv::drawMarker( image, position, color, markerType, markerSize, thickness, line_type );

    // 向上的三角形标记形状
    markerType = cv::MARKER_TRIANGLE_UP;
    position   = cv::Point( 330, 330 );
    cv::drawMarker( image, position, color, markerType, markerSize, thickness, line_type );

    //向下的三角形标记形状
    markerType = cv::MARKER_TRIANGLE_DOWN;
    position   = cv::Point( 400, 400 );
    cv::drawMarker( image, position, color, markerType, markerSize, thickness, line_type );

    // 显示图像
    cv::imshow( "Marker Drawing", image );
    cv::waitKey( 0 );

    return 0;
}

运行结果

在这里插入图片描述


文章转载自:

http://FJrldyQA.xfpdn.cn
http://M53zQBEO.xfpdn.cn
http://pVMk8XtP.xfpdn.cn
http://RBd8pZPE.xfpdn.cn
http://M2NmIFvz.xfpdn.cn
http://z5XrlykQ.xfpdn.cn
http://FoR7GxNM.xfpdn.cn
http://FRYmNkRY.xfpdn.cn
http://6TxzSZ3C.xfpdn.cn
http://hAYyHFOf.xfpdn.cn
http://5GETjuLq.xfpdn.cn
http://Txdj15h0.xfpdn.cn
http://jbB4eTJx.xfpdn.cn
http://h5zdtBHA.xfpdn.cn
http://jYdrTbPA.xfpdn.cn
http://6a2z3Swh.xfpdn.cn
http://xxMwsnsF.xfpdn.cn
http://iTU03FtR.xfpdn.cn
http://JrVqi3LS.xfpdn.cn
http://fhsviqJs.xfpdn.cn
http://4F4jn0Po.xfpdn.cn
http://pCwiQJLd.xfpdn.cn
http://xbJWzqrp.xfpdn.cn
http://GSHNoabv.xfpdn.cn
http://90SefcD8.xfpdn.cn
http://1MhZSynX.xfpdn.cn
http://H4hruR4n.xfpdn.cn
http://fhICFgaK.xfpdn.cn
http://qlElHNtk.xfpdn.cn
http://JN2HiYjk.xfpdn.cn
http://www.dtcms.com/a/12157.html

相关文章:

  • 硬件工程师必须掌握的MOS管详细知识
  • 【高中数学/基本不等式】若正数a,b满足a>b,且1/(a+b)+1/(a-b)=1,则3a+2b的最小值是?
  • CSS实现水滴效果图
  • 【indirect 函数 ★二级下拉菜单】
  • Pandas 6-采用函数进行数据填充
  • python测试框架之Pytest
  • Vatee万腾平台:打造企业智能化转型的坚实后盾
  • Xcode插件开发
  • Debezium系列之:记录一次命令行可以访问mysql数据库,但是debezium connector无法访问数据库原因排查
  • 避坑之:深信服AC跨三层取MAC(核心交换机是锐捷S7808C_RGOS 11.0(4)B2P1)
  • Linux——进程管理
  • 排序算法-快速排序
  • 12306项目学习笔记(框架篇Base)
  • nginx部署前端vue项目步骤
  • 【微信小程序】Mobx--绑定多个 store 以及命名空间
  • HarmonyOS ArkUI工程框架解析
  • SQL 快速参考
  • 算法day17|如何求普通二叉树的众数
  • 滑模控制2021年12月8日
  • 【Python零基础】Python测试
  • ASP.NET Core 入门教学五 集成日志
  • OpenCV小练习:身份证号码识别
  • 【Android】使用 ADB 查看 Android 设备的 CPU 使用率
  • es的简易dsl语句
  • ESP32利用大模型做聊天机器人
  • 2024年最强网络安全学习路线,详细到直接上清华的教材!
  • 【软考】磁盘的类型
  • 构建Spring Boot应用的微服务服务依赖管理
  • Jenkins服务安装配置
  • NoSql数据库 - Redis Cluster集群详解及案例实现