OpenCV 图像绘制的实现

 更新时间:2021年07月14日 14:41:52   作者:琉璃灯的眷恋  
本文主要介绍了OpenCV 图像绘制的实现,主要包括直线,圆,多边形和自定义图形等,具有一定的参考价值,感兴趣的可以了解一下

+直线绘制

参数解析:(图像矩阵,直线起始坐标, 直线终止坐标、颜色、线条厚度)

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在这里插入图片描述

圆形绘制

参数 (图像,圆心,半径,颜色,线条厚度)

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在这里插入图片描述

矩形绘制

参数(图像,左上角坐标,右下角坐标,颜色,线条厚度)

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在这里插入图片描述

椭圆型绘制

  • image:它是要在其上绘制椭圆的图像。
  • centerCoordinates:它是椭圆的中心坐标。坐标表示为两个值的元组,即(X坐标值,Y坐标值)。
  • axesLength:它包含两个变量的元组,分别包含椭圆的长轴和短轴(长轴长度,短轴长度)。
  • angle:椭圆旋转角度,以度为单位。
  • startAngle:椭圆弧的起始角度,以度为单位。
  • endAngle:椭圆弧的终止角度,以度为单位。
  • color:它是要绘制的形状边界线的颜色。对于BGR,我们通过一个元组。例如:(255,0,0)为蓝色。
  • thickness:是形状边界线的粗细像素。厚度-1像素将用指定的颜色填充形状。
  • lineType:这是一个可选参数,它给出了椭圆边界的类型。
  • shift:这是一个可选参数。它表示中心坐标中的小数位数和轴的值。
import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
# cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)
cv2.ellipse(img,center=(100,100),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(255,0,0),thickness=2)
cv2.imshow("pic show",img)
cv2.waitKey(0)

在这里插入图片描述

自定义形状

多边形,isClosed 代表是否是封闭

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
# cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.ellipse(img,center=(100,100),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(255,0,0),thickness=2)
pts = np.array([[10,5],[50,10],[70,20],[20,30]],dtype=np.int32)
pts = pts.reshape((-1,1,2))
cv2.polylines(img,[pts],isClosed=True,color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在这里插入图片描述

绘制文本

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
# cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.ellipse(img,center=(100,100),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(255,0,0),thickness=2)
# pts = np.array([[10,5],[50,10],[70,20],[20,30]],dtype=np.int32)
# pts = pts.reshape((-1,1,2))
# cv2.polylines(img,[pts],isClosed=True,color=(0,0,255),thickness=2)

cv2.putText(img,"gril",(10,30),cv2.FONT_HERSHEY_SIMPLEX,fontScale=1,color=(0,0,255),thickness=1,lineType=cv2.LINE_AA)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在这里插入图片描述

到此这篇关于OpenCV 图像绘制的实现的文章就介绍到这了,更多相关OpenCV 图像绘制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现生命游戏的示例代码(tkinter版)

    Python实现生命游戏的示例代码(tkinter版)

    生命游戏是由剑桥大学约翰·何顿·康威设计的计算机程序,一时吸引了各行各业一大批人的兴趣。本文将用Python实现这一游戏,感兴趣的可以尝试一下
    2022-08-08
  • flask应用部署到服务器的方法

    flask应用部署到服务器的方法

    这篇文章主要介绍了flask应用部署到服务器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python实现合并两个列表的方法分析

    Python实现合并两个列表的方法分析

    这篇文章主要介绍了Python实现合并两个列表的方法,结合实例形式对比分析了常见的Python列表合并操作技巧,需要的朋友可以参考下
    2018-05-05
  • Python中高效的json对比库deepdiff详解

    Python中高效的json对比库deepdiff详解

    deepdiff模块常用来校验两个对象是否一致,包含3个常用类,DeepDiff,DeepSearch和DeepHash,其中DeepDiff最常用,可以对字典,可迭代对象,字符串等进行对比,使用递归地查找所有差异,今天我们就学习一下快速实现代码和文件对比的库–deepdiff
    2022-07-07
  • 在Python文件中指定Python解释器的方法

    在Python文件中指定Python解释器的方法

    今天小编就为大家分享一篇在Python文件中指定Python解释器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • java直接调用python脚本的例子

    java直接调用python脚本的例子

    有时需求使用JAVA直接调用python脚本,执行一些服务器监控的事情。 本文给出一个java直接调用python脚本的例子
    2014-02-02
  • Python之site-packages目录的位置

    Python之site-packages目录的位置

    这篇文章主要介绍了Python之site-packages目录的位置,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Python中用pyinstaller打包时的图标问题及解决方法

    Python中用pyinstaller打包时的图标问题及解决方法

    这篇文章主要介绍了python中用pyinstaller打包时的图标问题及解决方法,本文从两方面给大家分析原因所在,通过截图实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2020-02-02
  • PYQT5设置textEdit自动滚屏的方法

    PYQT5设置textEdit自动滚屏的方法

    今天小编就为大家分享一篇PYQT5设置textEdit自动滚屏的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • 详解Python的整数是如何实现的

    详解Python的整数是如何实现的

    本文我们来聊一聊Python的整数,我们知道Python的整数是不会溢出的,换句话说,它可以计算无穷大的数,只要你的内存足够,它就能计算。但问题是,Python底层又是C实现的,那么它是怎么做到整数不溢出的呢?本文就来详细说说
    2022-11-11

最新评论