前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >OpenCV画直线,画圆,画椭圆,画矩形,绘制文字

OpenCV画直线,画圆,画椭圆,画矩形,绘制文字

作者头像
zy010101
发布于 2020-03-18 10:06:20
发布于 2020-03-18 10:06:20
4K00
代码可运行
举报
文章被收录于专栏:程序员程序员
运行总次数:0
代码可运行

这个没什么可说的,就是需要知道OpenCV里画这些东西的API是什么就可以了。直接上代码,具体注释看代码即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

void drawLine(Mat &image);
void drawRectangle(Mat& image);
void drawEllipse(Mat& image);
void drawCricle(Mat& image);

int main()
{
	Mat MyBG = imread("C:/Users/zhou_/Desktop/1.png");
	
	drawLine(MyBG);
	drawRectangle(MyBG);
	drawEllipse(MyBG);
	drawCricle(MyBG);

	//MyBG是背景图,"666"是画上去的文字,Point表示画的起点
	//FONT_HERSHEY_SIMPLEX是字体,2表示粗细
	//Scalar是颜色,3是代表字体的线条宽度
	putText(MyBG, "666", Point(200, 50), \
		FONT_HERSHEY_SIMPLEX, 2, Scalar(255, 0, 0),\
		3, LINE_AA);
	
	
	imshow("BG", MyBG);

	waitKey(0);
	return 0;
}

void drawLine(Mat& image)
{
	//Point是点的数据结构
	Point p1(0, 0);
	Point p2(533, 300);
	Scalar color = Scalar(255, 0, 0);
	//image表示在哪儿画,p1,p2是线段的端点,color是线的颜色,3代表线的粗细,LINE_AA表示反走样
	line(image, p1, p2, color,3,LINE_AA);
}

void drawRectangle(Mat& image)
{
	//在坐标(100,100)处,画一个长和宽都是100的矩形
	Rect rect = Rect(100, 100, 100, 100);
	Scalar color = Scalar(0, 255, 0);

	//rect表示要画的矩形形状如何。
	rectangle(image, rect, color, 1, LINE_AA);
}

void drawEllipse(Mat& image)
{
	Scalar color = Scalar(0, 0, 255);
	//image表示在哪儿画,Point表示椭圆的中心,Size表示椭圆的长短半轴的长度
	//第一个0表示从0位置开始画
	//第二个0和360表示画的椭圆的范围是0-360°
	ellipse(image, Point(image.cols / 2, image.rows / 2),\
		Size(image.cols / 2, image.rows / 4),\
		0, 0, 360, color, 2, LINE_AA);
}

void drawCricle(Mat& image)
{
	Point center(image.cols / 2, image.rows / 2);
	int r = 100;
	Scalar color = Scalar(0, 0, 0);
	//center表示圆心,r是圆的半径
	circle(image, center, r, color, 3, LINE_AA);
}

运行效果如下所示:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++ OpenCV视频操作之图像输出文字
当我们视频分析时可能图像中需要有一个文字说明,OpenCV中本身也有这个API,我们就来看看OpenCV中的图像文字输出。
Vaccae
2019/07/25
4.2K0
【C++】OpenCV:车道线检测原理与实现示例
车道线检测是自动驾驶和驾驶辅助系统中的关键任务之一。OpenCV是一个广泛使用的计算机视觉库,可以用来进行车道线检测。
DevFrank
2024/07/24
4030
图像加文字与运行时间——opencv
本文转自:https://blog.csdn.net/you_big_father/article/details/90604390
vv彭
2020/12/16
9260
【目标跟踪】奇葩需求如何处理(二)
昨天突然接到一个需求,识别井盖且判断是否有井盖或无井盖。而且时间紧急,比赛突然加的需求,只给一天时间。一天时间用深度学习方法大概率是来不及了,采集数据标注数据训练模型都要花时间。
读书猿
2024/03/22
1130
【目标跟踪】奇葩需求如何处理(二)
【ros】结果实时在线可视化
首先应该是读取配置文件,比如我们常说的.yaml 文件,这里可以包含一些传感器标定信息与各自算法的一些初始化参数配置等。
读书猿
2024/04/14
1940
【ros】结果实时在线可视化
OpenCV 绘图功能
在利用Opencv处理图像时,我们常常需要利用一些绘图操作用来验证中间结果是否正确,比如画圆,画椭圆,画线,画矩形等功能。下面对常用的绘图函数做个整理,也方便以后自己使用:
chaibubble
2022/05/07
2980
OpenCV 绘图功能
基于qt的opencv实时图像处理框架FastCvLearn实战
对代码陌生的朋友,可以看看本文。如果熟悉了,可以直接文末到github仓库下载使用。
threeQing
2021/09/29
1.2K0
基于qt的opencv实时图像处理框架FastCvLearn实战
【OpenCV入门之十五】随心所欲绘制想要形状
画圆画点都是使用circle()函数来画,点就是圆,我们平常所说的圆只不过是半径大一点而已。
小白学视觉
2019/05/30
1.8K0
OpenCv+Qt5.12.2:文字检测与文本识别
好久没有进行一些相关的更新的了,去年一共更新了四篇,最近一直在做音视频相关的直播服务,又是重新学习积攒经验的一个过程。去年疫情也比较严重,等到解封,又一直很忙,最近又算有了一些时间,所以想着可以做一些更新了,又拿起了 OpenCV,做一些相关更新了。其实代码相关的工作,在上一篇 OpenCV-摄像头相关的完成之后已经做完了,只是一直没有写相关博客,这次先给做完。
何其不顾四月天
2023/03/19
1.7K0
OpenCV 绘制图形
[【OpenCV3图像处理】绘图功能总结(直线,矩形,圆,椭圆,多边形,文字)]https://blog.csdn.net/u011574296/article/details/73332523
AI异构
2020/07/29
5380
OpenCV 绘制图形
万字长文,值得收藏/参考的OpenCV C++基础代码
一位友好人士做的B站OpenCV4.x C++ 快速入门30讲视频课程的笔记总结!我只能点赞了!
OpenCV学堂
2021/08/06
1.1K0
OpenCV DNN模块教程(四)Mask-RCNN实例分割
本文为OpenCV DNN模块官方教程的扩展,介绍如何使用OpenCV加载TensorFlow Object Detection API训练的模型做实例分割,以Mask-RCNN为例来检测缺陷。TensorFlow Object Detection API的github链接地址如下:https://github.com/tensorflow/models/tree/master/research/object_detection
Color Space
2020/10/29
1.1K0
OpenCV DNN模块教程(四)Mask-RCNN实例分割
机器视觉算法(第11期)----OpenCV中的绘图与注释
上期我们一起学习来了图像处理中64个常用的算子, 机器视觉算法(第10期)----图像处理中64个常用的算子 从今天我们仍将以OpenCV为工具,来学习下算法中常用的绘图和注释有哪些?
智能算法
2019/07/12
1.3K0
【C++】OpenCV:YOLO目标检测介绍及实现示例
我们都知道,yolo这些深度学习检测算法都是在python下用pytorch或tf框架这些训练的,训练得到的是pt或者weight权重文件,这些是算法开发人员做的事情,如何让算法的检测精度更高、速度更快。
DevFrank
2024/07/24
1.1K0
ubuntu16.0.4 opencv4.0.0 yolov3测试
硬件信息 8 Intel® Core™ i7-4790 CPU @ 3.60GHz
用户1148525
2019/05/26
6350
OpenCV4.8+YOLOv8对象检测C++推理演示
自从YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都无法再加载导出ONNX格式模型了,只有OpenCV4.7以上版本才可以支持最新版本YOLOv5与YOLOv8模型的推理部署。首先看一下最新版本的YOLOv5与YOLOv8的输入与输出格式:
OpenCV学堂
2023/09/27
2.1K0
OpenCV4.8+YOLOv8对象检测C++推理演示
Opencv-python画图基础知识
相关函数介绍 1. Point 该数据结构表示了由其图像坐标 和 指定的2D点。可定义为: Point pt; pt.x = 10; pt.y = 8; 或者 Point pt = Point(10, 8); 2. Scalar 表示了具有4个元素的数组。次类型在OpenCV中被大量用于传递像素值。 本节中,我们将进一步用它来表示RGB颜色值(三个参数)。如果用不到第四个参数,则无需定义。 我们来看个例子,如果给出以下颜色参数表达式: Scalar( a, b, c ) 那么定义的RGB颜色值为:Red =
hbbliyong
2018/06/13
1.3K0
OpenCV DNN模块官方教程(二)YoloV4目标检测实例
OpenCV DNN模块官方教程地址如下,可以查看各个对应的使用方法https://docs.opencv.org/4.4.0/d2/d58/tutorial_table_of_content_dnn.html
Color Space
2020/09/23
3.8K0
OpenCV DNN模块官方教程(二)YoloV4目标检测实例
深度学习:驾驶行为分析
程序功能简介: 使用yolo训练,OpenCV调用、实现打哈欠、手机、抽烟、系安全带,口罩检测。
DS小龙哥
2022/01/17
7490
深度学习:驾驶行为分析
OpenCV系列(18)|三角剖分
应用:人脸检测的核心技术 代码: #include <opencv2/imgproc.hpp> #include <opencv2/highgui.hpp> #include <iostream> #include <fstream> using namespace cv; using namespace std; static void help() { cout << "\nThis program demonstrates iterative construction of\n"
用户9831583
2022/06/16
6360
OpenCV系列(18)|三角剖分
相关推荐
C++ OpenCV视频操作之图像输出文字
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文