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

embedded/2024/12/22 19:55:56/
  • 操作系统: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://www.ppmy.cn/embedded/104486.html

相关文章

让个人AI助手不再是纸上谈兵,GodoAI让你体验无与伦比的人工智能黑科技

让个人AI助手不再是纸上谈兵&#xff0c;GodoAI让你体验无与伦比的人工智能黑科技 在日新月异的办公需求中&#xff0c;GodoAI 作为一款集多功能于一身的 AI 办公软件&#xff0c;为用户带来了全方位的智能化解决方案。本文将为大家介绍 GodoAI 的独特功能、技术架构&#xff0…

编译LineageOS模拟器镜像,导出到AndroidStudio

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 源码下载 LineageOS官网&#xff1a;https://lineageos.org/ LineageOS源码 github 地址&#xff1a;https://github.com/LineageOS/android LineageOS源码国…

华为AC旁挂二层组网配置详解:从DHCP部署到无线业务配置,完成网络搭建

组网需求 AC组网方式&#xff1a;旁挂二层组网。 DHCP部署方式&#xff1a; AC作为DHCP服务器为AP分配IP地址。 防火墙作为DHCP服务器为STA分配IP地址。 业务数据转发方式&#xff1a;直接转发。 网络拓扑图 对于旁边路直接转发&#xff0c;优点就是数据流量不经过AC&…

Linux 软件包管理器 yum

目录 1.yum和软件包 1.yum的概念&#xff1a; 2.软件包的概念 &#xff1a; 3.yum和软件包的关系 &#xff1a; 2.查看软件安装包 查看软件安装包&#xff1a; 筛选安装包&#xff1a; 3.安装和卸载软件包 1.yum和软件包 1.yum的概念&#xff1a; yum是一个软件下载管…

深度学习实战1--决策树与随机森林(最新版本不报错)

1.乳腺癌数据集简介 乳腺癌数据集包含了美国威斯康星州记录的569个病人的乳腺癌的病情&#xff0c;包含30个维度的生理指标数据(特征),以及乳腺癌是恶性还是良性的标签。因为这是一个二分类问题&#xff0c; 也叫二类判别数据集。 2.实战任务 这数据主要包含569个样本。每个样…

C++国密SM2算法加解密的使用

目录 效果 在线校验 代码实现参考 项目 下载 效果 加密字符串:lxw 123abcD 2024-09-01:12:00加密后信息:042E82EE8ACE2BD56FA71DC6A0C34190627AA365F8EEE6261903BEE327A85EB5E1D6E78F2D79AD6F6DC9E45C0829625DC3165BB78BD897F99044A640F930653747939CF9D5A10C8216F945A559…

气膜体育馆:学校体育设施的全新选择—轻空间

随着现代教育的发展&#xff0c;学校对体育设施的需求日益增加。一个良好的体育馆不仅能够为学生提供健康运动的场所&#xff0c;还能为学校举办各类体育赛事、活动提供便利。然而&#xff0c;传统体育馆的建设成本高昂、周期长&#xff0c;并且对场地要求较高。气膜体育馆作为…

关于计算机网络的一个小讨论

采用分组交换方式&#xff0c;将数据包分成较小的包&#xff0c;到达目的地以后再组装起来&#xff0c; 这是路由器功能还是交换机功能 2017年11月26日&#xff0c;星期日&#xff0c;通过描述&#xff0c;可以看出来理论知识实际上还是停留在路由器和交换机上&#xff0c; 分…