当前位置: 首页 > 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;
}

运行结果

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Cadence24】如何给PCB板露铜处理
  • pycharm修改文件大小限制
  • Docker网络模型深度解析
  • Java方法的引用
  • Linux —— 驱动——platform平台总线
  • 浅析 Linux 进程地址空间
  • C# 使用 StackExchange nuget 包进行 Redis操作
  • AI 大模型时代,对前端工程师有哪些机遇和挑战?
  • 网络安全售前入门04——审计类产品了解
  • Vue: v-html安全性问题
  • 使用redis模拟cookie-session,例子:实现验证码功能
  • 在线考试系统应用场景分析
  • MVP的推导过程
  • 养宠家庭除浮毛必入!希喂、安德迈、有哈宠物空气净化器真实对比
  • Rustrover、IDEA 的 Rust 类型不显示(已解决)
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 10个最佳ES6特性 ES7与ES8的特性
  • golang中接口赋值与方法集
  • IndexedDB
  • leetcode-27. Remove Element
  • nginx 配置多 域名 + 多 https
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • React组件设计模式(一)
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 闭包--闭包作用之保存(一)
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 大整数乘法-表格法
  • 解决iview多表头动态更改列元素发生的错误
  • 浏览器缓存机制分析
  • 深度解析利用ES6进行Promise封装总结
  • 微信开源mars源码分析1—上层samples分析
  • 微信小程序设置上一页数据
  • 源码安装memcached和php memcache扩展
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 说说我为什么看好Spring Cloud Alibaba
  • 我们雇佣了一只大猴子...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ###C语言程序设计-----C语言学习(3)#
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (42)STM32——LCD显示屏实验笔记
  • (C#)一个最简单的链表类
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (每日一问)基础知识:堆与栈的区别
  • (十八)SpringBoot之发送QQ邮件
  • (转) 深度模型优化性能 调参
  • (状压dp)uva 10817 Headmaster's Headache
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET 8.0 中有哪些新的变化?
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET CORE使用Redis分布式锁续命(续期)问题