👨💻个人简介: 深度学习图像领域工作者
🎉总结链接:
链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括:
📌1.工作中常用深度学习脚本
📌2.torch、numpy等常用函数详解
📌3.opencv 图片、视频等操作
📌4.个人工作中的项目总结(纯干活)
链接: https://blog.csdn.net/qq_28949847/article/details/128552785
🎉视频讲解: 以上记录,通过B站等平台进行了视频讲解使用,可搜索 ‘Python图像识别’ 进行观看
B站:Python图像识别
抖音:Python图像识别
西瓜视频:Python图像识别
1. cv2.rectangle 绘制矩形
cv2.rectangle()
函数是OpenCV中用于在图像上绘制矩形的函数。其语法如下:
cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
参数说明:
-
img
:输入的图像矩阵; -
pt1
:矩形的左上角顶点坐标,类型为(x,y); -
pt2
:矩形的右下角顶点坐标,类型为(x,y); -
color
:矩形的颜色,可以是RGB元组或灰度值; -
thickness
:可选参数,指定矩形边框的宽度,默认为1,-1 为实心矩形; -
lineType
:可选参数,指定矩形边框的类型,默认为8; -
shift
:可选参数,指定坐标点小数位数,默认为0。
下面是一个例子:
import cv2
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)
# 在图像上绘制一个红色矩形
cv2.rectangle(img, (100, 100), (300, 300), (0, 0, 255), 3)
# 显示图像
cv2.imshow("rectangle", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例效果:
2. cv2.circle() 绘制圆
cv2.circle()
函数是OpenCV中用于在图像上绘制圆形的函数。其语法如下:
cv2.circle(img, center, radius, color, thickness=None, lineType=None, shift=None)
参数说明:
-
img
:输入的图像矩阵; -
center
:圆心的坐标,类型为(x,y); -
radius
:圆的半径; -
color
:圆的颜色,可以是RGB元组或灰度值; -
thickness
:可选参数,指定圆边框的宽度,默认为1,-1为实心; -
lineType
:可选参数,指定圆边框的类型,默认为8; -
shift
:可选参数,指定坐标点小数位数,默认为0。
下面是一个例子:文章来源:https://www.toymoban.com/news/detail-434888.html
import cv2
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)
# 在图像上绘制一个半径为100的蓝色圆
cv2.circle(img, (256, 256), 100, (255, 0, 0), 3)
# 显示图像
cv2.imshow("circle", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例效果:
3. cv2.polylines() 绘制多边形
在OpenCV中,绘制多边形的函数为cv2.polylines()
,该函数的调用格式如下:
cv2.polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])
其中,各参数的含义如下:
-
img
:要绘制多边形的图像。 -
pts
:要绘制的多边形的顶点坐标,类型为numpy.ndarray,其形状**(n,1,2),其中n为多边形的边数,2表示每个点有x和y两个坐标。** -
isClosed
:表示多边形是否封闭,如果为True,则表示多边形是封闭的,会从最后一个点连线到第一个点。 -
color
:多边形的颜色,为一个(B,G,R)格式的元组或一个标量。 -
thickness
:线条的粗细,默认值为1。 -
lineType
:线条的类型,默认值为cv2.LINE_8。 -
shift
:坐标点小数位数的位数。
下面是一个绘制多边形的示例代码:
import numpy as np
import cv2
# 创建一张黑色背景图像
img = np.zeros((512, 512, 3), dtype=np.uint8)
# 定义多边形的顶点坐标
pts = np.array([[100, 100], [200, 400], [400, 400], [400, 100]], np.int32)
# 将多边形的顶点坐标转换为需要的格式
pts = pts.reshape((-1, 1, 2))
# 绘制多边形
cv2.polylines(img, [pts], True, (0, 255, 0), thickness=2)
# 显示结果
cv2.imshow('Polygon', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
需要注意的是,在使用cv2.polylines()
函数绘制多边形时,要注意坐标的格式和维度,否则会出现绘制失败或者图像错位的情况。同时,可以通过调整线条的粗细、颜色等参数来实现不同的效果。
绘制效果:
4. cv2.line() 绘制线
cv2.line()
函数是OpenCV中用于在图像上绘制直线的函数。其语法如下:
cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
参数说明:
-
img
:输入的图像矩阵; -
pt1
:直线的起点坐标,类型为(x,y); -
pt2
:直线的终点坐标,类型为(x,y); -
color
:直线的颜色,可以是RGB元组或灰度值; -
thickness
:可选参数,指定直线的宽度,默认为1; -
lineType
:可选参数,指定直线的类型,默认为8; -
shift
:可选参数,指定坐标点小数位数,默认为0。
下面是一个例子:
import cv2
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)
# 在图像上绘制一条红色直线
cv2.line(img, (0, 0), (511, 511), (0, 0, 255), 5)
# 显示图像
cv2.imshow("line", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例效果:
文章来源地址https://www.toymoban.com/news/detail-434888.html
到了这里,关于python opencv 绘制矩形、圆、线、多边形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!