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

作者&投稿:平清 (若有异议请与网页底部的电邮联系)
~ 详解用OpenCV绘制各类几何图形

本文详细介绍了OpenCV绘制几何图形的方法,利用cv2.line()、v2.circle()、cv2.rectangle()、cv2.ellipse()、cv2.polylines()、cv2.putText()函数实现。

一. 绘制直线

在OpenCV中,绘制直线通过调用cv2.line()函数实现,需要获取直线的起点和终点坐标。下面的代码展示了如何绘制一条直线:通过np.zeros()创建一幅黑色图像,接着调用cv2.line()绘制直线,参数包括起始坐标和颜色、粗细。

输出结果如图3-1所示,从坐标(0,0)到(255,255)绘制一条直线,直线颜色为(55,255,155),粗细为5。

二. 绘制矩形

绘制矩形通过调用cv2.rectangle()函数实现,该函数需要矩形的左上角和右下角坐标。下面的代码展示了如何绘制一个矩形:通过np.zeros()创建一幅黑色图像,接着调用cv2.rectangle()绘制矩形,参数包括左上角坐标、右下角坐标、颜色、粗细。

输出结果如图3-2所示,从左上角坐标为(20,20),右下角坐标为(150,250),绘制的矩形颜色为蓝色(255,0,0),粗细为2。

三. 绘制圆形

绘制圆形同样使用cv2.rectangle()函数,但需要额外参数,如中心点的位置坐标,半径等。下面的代码展示了如何绘制一个圆形:在圆形为(100,100)的位置,绘制了一个半径为50,颜色为(255,255,0)、粗细为4的圆。

注意,将粗细设置为“-1”时,绘制的圆为实心,如图3-4所示。

四. 绘制椭圆

绘制椭圆较为复杂,需要输入多个参数,如中心点的位置坐标,长轴和短轴的长度,椭圆沿逆时针方向旋转的角度等。下面的代码展示了如何绘制一个椭圆:椭圆中心为(120,100),长轴为100,短轴为50,偏转角度为20,圆弧起始角的角度为0,圆弧终结角的角度为360,表示一个完整的椭圆。绘制的颜色为(255,0,255),粗细为2。

五. 绘制多边形

绘制多边形通过调用cv2.polylines()函数实现,需要指定每个顶点的坐标。下面的代码展示了如何绘制一个闭合的多边形和一个五角星多边形。

输出结果如图3-6和图3-7所示,分别展示了绘制的多边形。

六. 绘制文字

添加文字通过调用cv2.putText()函数实现,需要指定字体、文本内容、起始位置、字体大小、颜色等参数。下面的代码展示了如何绘制文字:在图像上绘制的文字为“I love Python!I love Huawei!”。

七. 总结

本文详细介绍了OpenCV绘制几何图形的方法,利用多种函数实现基本图形的绘制。初学者通过本文可以掌握基础图形绘制的用法,为后续应用提供帮助。同时,建议读者尝试结合本文内容实现一个简单的画图软件。


视频图像分析处理完整流程(收藏版)
视频图像分析处理的深度解析 在现代科技中,视频图像分析处理是不可或缺的一环。其流程从视频编解码的入门知识开始,目标在于优化存储空间并利用视觉冗余进行压缩。首先,视频压缩是为了应对未经压缩数字视频庞大的数据量,如未压缩的高清视频可能仅几秒钟就需要几GB的存储空间。压缩技术如.mp4和AVI,采用...

图片BMP格式的Opencv读取比较方便,不用解码的对吧?
BMP存储的是原始数据,未经过压缩,只是存成文件时加了一些文件头,表示文件类型和大小信息的东西,所以读取起来不用解压缩;JPG格式的图片是经过DCT变换后进行量化,再进行熵编码,从而达到压缩的目的,会造成数据损失,虽然在视觉上表现得不明显,但是数据量会大幅减少,读取时需要进行压缩时的逆操作,需要...

图片BMP格式的Opencv读取比较方便,不用解码的对吧?
你好!是bmp不用解码 jpg需要解码,就是解压缩 但是对于opencv的读图来说,都一样,用户感觉不出来 都到内存中,就是图像数据了 至于有损无损,要看压缩的格式,一般jpg会比原图有一些损失 如有疑问,请追问。

python组件有多少个(2023年最新解答)
使用OpenCV-Python中的金字塔融合(PyramidBlending)将苹果和橘子融合到一起: SimpleCV是一个开源的计算机视觉框架。它支持包括OpenCV在内的一些高性能计算机视觉库,同时不需要去了解位深度(bitdepth)、文件格式、色彩空间(colorspace)之类的概念,因此SimpleCV的学习曲线要比OpenCV平缓得多,正如它的口号所说,“将计算机视觉...

python是什么意思-含义详解
由于Python语言的简洁、易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程。例如卡耐基梅隆大学的编程基础和麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、...

筠连县17836615021: 用opencv在visual studio2010做几何图形和颜色的识别,我也是opencv初学者, 求大家的高见. -
亢斩怡方: 简单的形状可以用霍夫变换,或者用找轮廓函数然后匹配轮廓的矩,颜色识别可以将图片从RGB空间转到HSV或YCrCb空间识别、 建议你上opencv中文论坛看看,很适合初学者上手

筠连县17836615021: opencv中如何在一幅图像中画图形
亢斩怡方: argc 命令行参数个数 argv 命令行参数排列例如在运行->CMD,也就是DOS命令行里面输入 candy.exe image.jpg 的话,就是2个参数所以 argc=2,argv是一个字符型的数组所以 argv[0]="candy.exe" , argv[1]="image.jpg"这两个参数如果都...

筠连县17836615021: 用vb绘制简单几何图形的程序 -
亢斩怡方: obj.cicle(x,y),r obj.box(x,y,x,y) obj.pset(x,y) obj.line ()-(),rgb(r,g,b) obj.... 去查帮助吧,很多的.

筠连县17836615021: 怎样用develop c++画图表? -
亢斩怡方: 使用 开源专业图表库 graphviz http://www.graphviz.org/ 可以方便生成专业的图表.使用OpenGL绘制3D图形, OpenCV进行一般的图像处理.

筠连县17836615021: 如何在unity中画几何图形,线段,矩形等 -
亢斩怡方: 1、打开几何画板文件2、选择“文件”菜单下的“另存为”3、在“保存类型”中选择“增强型图元文件”4、选择“插入”菜单下的“图片”→“来自文件”5、找到保存的图片文件,选择后点击右侧的“插入”效果如图:这样做的好处是,放大或缩小图片的大小,打印出来的图片仍然非常清晰.

筠连县17836615021: C#里面的画圆和画其他几何图形的函数
亢斩怡方: 全部都由System.Drawing.Graphics 的实例来完成,具体请参考MSDN 举例如下,画直线: public void DrawLinePoint(PaintEventArgs e) { // Create pen. Pen blackPen = new Pen(Color.Black, 3); // Create points that define line. Point point1 = ...

筠连县17836615021: 如何用C#进行简单几何图形描述? -
亢斩怡方: using System; using System.Collections.Generic; using System.Linq; using System.Drawing; //需要添加System.Draw引用!!!!namespace ConsoleApplication1 { public interface IShape { Color Cololr { get; set; } void Draw(); void Erase(); void...

筠连县17836615021: vb编程(绘制几何图形) -
亢斩怡方: line方法是在pic控件上画直线和矩形~ (x,y) 起点坐标 (75,y)终点坐标 vbred 颜色为红色

筠连县17836615021: 如何在网页上画出几何图形? -
亢斩怡方: 选择视图-工具栏-绘图,点击自选图形-基本图形中有你想要的三角形 菱形等几何图形,如要增加字母,则必须使用插入文本框.

筠连县17836615021: android 怎么手动绘制几何图形源码 -
亢斩怡方: 可以参考下面的代码 package cn.m15.xys;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网