OpenCV基础知识4 — 绘制图形

这篇具有很好参考价值的文章主要介绍了OpenCV基础知识4 — 绘制图形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy

前言:Hello大家好,我是小哥谈。OpenCV提供了许多用于绘制图形的方法,包括绘制线段的line()方法、绘制矩形的retangle()方法、绘制圆形的circle()方法、绘制多边形的polylines()方法和绘制文字的putText()方法。本节课将依次对上述各个方法进行讲解,并使用上述方法绘制相应的图形。 🌈

 OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy前期回顾:

           史上最全OpenCV常用方法及使用说明汇总,建议收藏!

           OpenCV基础知识(1)— OpenCV概述

           OpenCV基础知识(2)— 图像处理的基本操作(读取图像、显示图像、保存图像和获取图像属性)

           OpenCV基础知识(3)— 图像数字化基础(像素、色彩空间)

           目录

 🚀1.线段的绘制 

 🚀2.矩形的绘制

 🚀3.圆形的绘制

 🚀4.多边形的绘制

 🚀5.文字的绘制

OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy

 🚀1.线段的绘制 

Opencv提供了用于绘制线段的line()方法,使用这个方法即可绘制长短不一的、粗细各异的、五颜六色的线段。🌱

line()方法语法格式如下:

img = cv2.line(img,pt1,pt2,color,thickness)

参数说明:

img:画布

pt1:线段的起点坐标

pt2:线段的终点坐标

color:绘制线段时的线条颜色

thickness:绘制线段的线条宽度

说明:♨️♨️♨️

当线条颜色是红色的时候,由于Opencv默认的通道顺序是B-G-R,因此将使用(0,0,255)表示红色。

Python代码:

import numpy as np  # 导入Python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (300, 300, 3):一个300 x 300,具有3个颜色空间(即Red、Green和Blue)的画布
# np.uint8:OpenCV中的灰度图像和RGB图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((300, 300, 3), np.uint8)
# 在画布上,绘制一条起点坐标为(50, 150)、终点坐标为(250, 150),绿色的,线条宽度为10的线段
canvas = cv2.line(canvas, (50, 150), (250, 150), (0, 255, 0), 10)
# 在画布上,绘制一条起点坐标为(50, 250)、终点坐标为(250, 250),红色的,线条宽度为15的线段
canvas = cv2.line(canvas, (50, 250), (250, 250), (0, 0, 255), 15)
# 在画布上,绘制一条起点坐标为(150, 50)、终点坐标为(150, 250),黄色的,线条宽度为20的线段
canvas = cv2.line(canvas, (150, 50), (150, 250), (0, 255, 255), 20)
cv2.imshow("Lines", canvas) # 显示画布
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:

OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy


 🚀2.矩形的绘制

OpenCV提供了用于绘制矩形的retangle()方法,使用这个方法既可以绘制矩形,也可以绘制实心矩形。🌷

retangle()方法的语法格式如下所示:

img = cv2.retangle(img,pt1,pt2,color,thickness)

参数说明:

img:画布

pt1:矩形的左上角坐标

pt2:矩形的右下角坐标

color:绘制矩形时的线条颜色

thickness:绘制矩形时的线条宽度

Python代码:

import numpy as np # 导入Python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (300, 300, 3):一个300 x 300,具有3个颜色空间(即Red、Green和Blue)的画布
# np.uint8:OpenCV中的灰度图像和RGB图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((300, 300, 3), np.uint8)
# 在画布上绘制一个左上角坐标为(50,50),右下角坐标为(200,150)红色的宽度为6的矩形边框
canvas = cv2.rectangle(canvas, (50, 50), (200, 150), (0,0, 255),6)
cv2.imshow("Rectangle", canvas) # 显示画布
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:

OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy


 🚀3.圆形的绘制

OpenCV提供了用于绘制圆形的circle()方法,这个方法与retangle()方法的功能相同,既可以绘制圆形边框,也可以绘制实心圆形。🍁

circle()方法的语法格式如下:

img = cv2.circle(img,center,radius,color,thickness)

参数说明:

img:画布

center:圆形的圆心坐标

radius:圆形的半径

color:绘制圆形时的线条颜色

thickness:绘制圆形时的线条宽度

Python代码:

import numpy as np # 导入Python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (100, 300, 3):一个100 x 300,具有3个颜色空间(即Red、Green和Blue)的画布
# np.uint8:OpenCV中的灰度图像和RGB图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((100, 300, 3), np.uint8)
# 在画布上,绘制一个圆心坐标为(50, 50),半径为40,红色的实心圆形
canvas = cv2.circle(canvas, (50, 50), 40, (0, 0, 255), -1)
# 在画布上,绘制一个圆心坐标为(150, 50),半径为40,黄色的实心圆形
canvas = cv2.circle(canvas, (150, 50), 40, (0, 255, 255), -1)
# 在画布上,绘制一个圆心坐标为(250, 50),半径为40,绿色的实心圆形
canvas = cv2.circle(canvas, (250, 50), 40, (0, 255, 0), -1)
cv2.imshow("TrafficLights", canvas) # 显示画布
cv2.waitKey()
cv2.destroyAllWindows()

 运行结果:

OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy


 🚀4.多边形的绘制

OpenCV提供了用于绘制多边形的polylines()方法,使用这个方法绘制的多边形既可以是封闭的,也可以是不封闭的。🌸

polylines()方法的语法格式如下:

img = cv2.polylines(img,pts,isClosed,color,thickness)

参数说明:

img:画布

pts:由多边形各个顶点的坐标组成的一个列表,这个列表是一个Numpy的数组类型。

isClosed:如果值为True,表示一个闭合的多边形;如果值为False,表示一个不闭合的多边形。

color:绘制多边形时的线条颜色

thickness:绘制多边形时的线条宽度

Python代码:

import numpy as np # 导入Python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (300, 300, 3):一个300 x 300,具有3个颜色空间(即Red、Green和Blue)的画布
# np.uint8:OpenCV中的灰度图像和RGB图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((300, 300, 3), np.uint8)
# 按顺时针给出等腰梯形4个顶点的坐标
# 这4个顶点的坐标构成了一个大小等于“顶点个数 * 1 * 2”的数组
# 这个数组的数据类型为np.int32
pts = np.array([[100, 50], [200, 50], [250, 250], [50, 250]], np.int32)
# 在画布上根据4个顶点的坐标,绘制一个闭合的,红色的,线条宽度为5的等腰梯形边框
canvas = cv2.polylines(canvas, [pts], True, (0, 0, 255), 5)
cv2.imshow("Polylines", canvas) # 显示画布
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:

OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy


 🚀5.文字的绘制

OpenCV提供了用于绘制文字的putText()方法,使用这个方法不仅能够设置字体的样式、大小和颜色,而且能够使字体呈现斜体的效果,还能够控制文字的方向,进而使文字呈现垂直镜像的效果。🎋

putText()方法的语法格式如下:

img = cv2.putText(img,text,org,fontFace,fontScale,color,thickness,lineType,bottomLeftOrigin)

参数说明:

img:画布

text:要绘制的文字内容

org:文字在画布中的左下角坐标

fontFace:字体样式

fontScale:字体大小

color:绘制文字时的线条颜色

thickness:绘制文字时的线条宽度

lineType:线型(指的是线的产生算法,有4和8两个值,默认值为8)

bottomLeftOrigin:绘制文字时的方向(有True和False两个值,默认值为False)

Python代码:

import numpy as np # 导入Python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (100, 300, 3):一个100 x 300,具有3个颜色空间(即Red、Green和Blue)的画布
# np.uint8:OpenCV中的灰度图像和RGB图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((100, 300, 3), np.uint8)
# 在画布上绘制文字“mrsoft”,文字左下角的坐标为(20, 70)
# 字体样式为FONT_HERSHEY_TRIPLEX
# 字体大小为2,线条颜色是绿色,线条宽度为5
cv2.putText(canvas, "OpenCV", (20, 70), cv2.FONT_HERSHEY_TRIPLEX, 2, (0, 255, 0), 5)
cv2.imshow("Text", canvas) # 显示画布
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:

OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy


OpenCV基础知识4 — 绘制图形,OpenCV,opencv,人工智能,计算机视觉,python,numpy文章来源地址https://www.toymoban.com/news/detail-636825.html

到了这里,关于OpenCV基础知识4 — 绘制图形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【opencv】计算机视觉基础知识

    目录 前言 1、什么是计算机视觉 2、图片处理基础操作 2.1 图片处理:读入图像 2.2 图片处理:显示图像 2.3 图片处理:图像保存 3、图像处理入门基础 3.1 图像成像原理介绍 3.2 图像分类 3.2.1 二值图像 3.2.2灰度图像 3.2.3彩色图像(RGB) 4、像素处理操作 4.1 读取像素 4.2 修改像素

    2024年02月04日
    浏览(66)
  • 【OpenCV】计算机视觉图像处理基础知识

    目录 前言 推荐 1、OpenCV礼帽操作和黑帽操作 2、Sobel算子理论基础及实际操作 3、Scharr算子简介及相关操作 4、Sobel算子和Scharr算子的比较 5、laplacian算子简介及相关操作 6、Canny边缘检测的原理 6.1 去噪 6.2 梯度运算 6.3 非极大值抑制 6.4 滞后阈值 7、Canny边缘检测的函数及使用

    2024年02月05日
    浏览(58)
  • OpenCV基础知识(9)— 视频处理(读取并显示摄像头视频、播放视频文件、保存视频文件等)

    前言: Hello大家好,我是小哥谈。 OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像是以固定的时间间隔从视频中获取的。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要想处理视频,需要先对视频进行读

    2024年02月11日
    浏览(57)
  • 使用OpenCV绘制图形

    绘制黄色的线: 绘制矩形: 绘制圆形: 绘制多边形: 绘制文字:

    2024年01月22日
    浏览(50)
  • opencv图形绘制2

    目录 制作宣传语(中文) 制作宣传语(英文) 绘制标记 鼠标交互绘制十字线 鼠标交互绘制图形 鼠标交互制作几何画板 滚动条控制 鼠标事件练习 # cv2.putText函数在图像上添加文本 # cv2.putText(img, text, org, font, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]]) \\\'\\\'\\\'     img:图像

    2024年02月20日
    浏览(35)
  • 【CV 向】OpenCV 图形绘制指南

    Python OpenCV 是一个功能强大的计算机视觉库,除了图像处理和计算机视觉任务外,它还提供了丰富的功能来绘制各种图形。无论是在计算机视觉应用中标记感兴趣区域,还是在图像上绘制几何形状或文本,OpenCV 都为我们提供了简单易用的方法。本文将介绍如何利用 Python Open

    2024年02月11日
    浏览(34)
  • OpenCV 04(通道分离与合并 | 绘制图形)

    - split(mat)分割图像的通道 - merge((ch1,ch2, ch3)) 融合多个通道 利用OpenCV提供的绘制图形API可以轻松在图像上绘制各种图形, 比如直线, 矩形, 圆, 椭圆等图形. - line(img, pt1, pt2, color, thickness, lineType, shift) 画直线   - img: 在哪个图像上画线   - pt1, pt2: 开始点, 结束点. 指定线的开始与结

    2024年02月09日
    浏览(43)
  • Python Opencv实践 - 在图像上绘制图形

           

    2024年02月13日
    浏览(54)
  • 【opencv+图像处理】Image Processing in OpenCV 1-2基本图形绘制

    🍉 博主微信 cvxiayixiao 🍓 【Segment Anything Model】计算机视觉检测分割任务专栏。 链接 🍑 【公开数据集预处理】特别是医疗公开数据集的接受和预处理,提供代码讲解。链接 🍈 【opencv+图像处理】opencv代码库讲解,结合图像处理知识,不仅仅是调库。链接 本专栏代码地址

    2024年02月08日
    浏览(70)
  • c++ 使用opencv来绘制各种图形(持续更新)

     OpenCV中并没有现成的函数,因此可以通过绘制两条相互垂直的直线来实现十字丝的绘制。

    2024年02月13日
    浏览(92)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包