作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

函数原型

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

参数说明

  1. InputOutputArray类型的img,输入图像也是输出图像,如Mat类型。
  2. Point类型的position,绘制图形中心点。
  3. Scalar类型的color,文字颜色。
  4. int类型的markerType,标记符类型。
  5. int类型的markerSize,标记符尺寸。
  6. int类型的thickness,标记符线条宽度。
  7. int类型的line_type,绘制线的类型,-1就是FILLED(填满),4是LINE_4(4连通域),8是LINE_8(8连通域),LINE_AA(抗锯齿线)。

测试代码

#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main()
{cv::Mat src = imread("test.jpg");cv::Mat result = src.clone();drawMarker(result, Point(src.cols / 2,src.rows / 4), Scalar(0,0,255), MARKER_CROSS, 200, 5, 16);drawMarker(result, Point(src.cols / 2, src.rows / 2), Scalar(0, 0, 255), MARKER_TILTED_CROSS, 200, 5, 16);drawMarker(result, Point(3 * src.cols / 4, src.rows / 4), Scalar(0, 0, 255), MARKER_STAR, 200, 5, 16);drawMarker(result, Point(3 * src.cols / 4, src.rows / 2), Scalar(0, 0, 255), MARKER_DIAMOND, 200, 5, 16);drawMarker(result, Point(3 * src.cols / 4, 3 * src.rows / 4), Scalar(0, 0, 255), MARKER_SQUARE, 200, 5, 16);drawMarker(result, Point(src.cols / 4, src.rows / 2), Scalar(0, 0, 255), MARKER_TRIANGLE_UP, 200, 5, 16);drawMarker(result, Point(src.cols / 4, 3 * src.rows / 4), Scalar(0, 0, 255), MARKER_TRIANGLE_DOWN, 200, 5, 16);imshow("original", src);imshow("result", result);waitKey(0);system("pause");return 0;
}

测试效果

图1 绘制效果图

drawMarker总共可以绘制的图形我都绘制出来了。MARKER_CROSS为十字,MARKER_TILTED_CROSS为叉,MARKER_STAR为星星,MARKER_DIAMOND为菱形,MARKER_SQUARE为正方形,MARKER_TRIANGLE_UP为正三角,MARKER_TRIANGLE_DOWN为倒三角。

如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

OpenCV-绘制标记符cv::drawMarker相关推荐

  1. 【学习OpenCV4】OpenCV绘制标记/线/矩形/文字/圆等

    本文分享内容来自图书<学习OpenCV 4:基于Python的算法实战>,该书内容如下: 第1章 OpenCV快速入门: 第2章 图像读写模块imgcodecs: 第3章 核心库模块cor ...

  2. OpenCV-Python学习(14)—— OpenCV 绘制箭头线(cv.arrowedLine)

    1. 学习目标 学会使用 cv.arrowedLine 带箭头的直线: 绘制箭头的直线的注意事项. 2. 绘制箭头直线 cv.arrowedLine 函数说明 2.1 cv.arrowedLine() ...

  3. opencv之在图像上绘制标记---drawMarker

    核心函数 drawMarker(img, position, color, markerType=None, markerSize=None, thickness=None, line_type=No ...

  4. OpenCv绘制简单的几何图形

    opencv常用绘制方法 前言 1.直线line line的函数原型如下 使用方法 2.箭头arrowedLine arrowedLine的函数原型如下 使用方法 3.矩形rectangle. rec ...

  5. OpenCV 连通分量标记和分析

    在本教程中,您将学习如何使用 OpenCV 执行连通分量标记和分析.具体来说,我们将重点介绍 OpenCV 最常用的连通分量标记函数:cv2.connectedComponentsWithStats. ...

  6. OpenCV绘制等高线Contours的实例(附完整代码)

    OpenCV绘制等高线Contour的实例 OpenCV绘制等高线Contour的实例 OpenCV绘制等高线Contour的实例 #include "opencv2/imgproc.hpp ...

  7. OpenCV—矩阵数据类型转换cv::convertTo

    OpenCV-矩阵数据类型转换cv::convertTo 函数 [cpp] view plaincopy void convertTo( OutputArray m, int rtype, doubl ...

  8. [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. 详解用OpenCV绘制各类几何图形

    本文分享自华为云社区<[Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形>,作者:eastmount. 一.绘制直线 在OpenCV中,绘制直线需要获取直线的起 ...

最新文章

  1. 俄语版TikTok风靡俄罗斯
  2. 参数迁移表达的第三种形态相互作用
  3. STM32开发 -- UCOSII移植
  4. VC++更改程序图标
  5. 独占锁、共享锁、更新锁,乐观锁、悲观锁
  6. java 对象克隆_JAVA对象克隆
  7. 信息学奥赛C++语言:跑步
  8. css用户界面样式(附实例、图解)
  9. Java常见设计模式面试题及答案
  10. 安卓和iOS测试的区别
  11. js封装cookie
  12. 刑事实务办案中疑难问题
  13. 建立你的第一个vue程序
  14. C语言基本语法——循环篇(三种常见的循环)
  15. Pytest3种配置文件方式
  16. 事物认识分析基本方法(转)
  17. 仿超级课程表的课程界面设计
  18. 教师职称计算机教学,教师计算机职称考试++-教学.docx
  19. LINE上市后引发的一场社交软件宫斗戏
  20. Python去掉空格的常用方法

热门文章

  1. DataFrame.apply()
  2. 这『六本』电子书能帮助你成为优秀的程序员(含下载地址)
  3. Windwos Server 2008 R2 DHCP服务
  4. 微信公众平台开发教程(二) 基本原理及消息接口
  5. STM32 USB数据接收与数据发送程序流程分析
  6. VC++中对话框数据交换【十全十美】
  7. Checkbox与RadioGroup的使用方法
  8. 用delphi模仿.net的string.split
  9. drain open 线与_再转一个:push-pull and open-drain,开漏(open drain)和开集(open collector...
  10. 银行计算机系统(第3版),清华大学出版社-图书详情-《银行计算机系统》