赞
踩
cv2.line() 是 OpenCV 中的一个函数,用于在图像上绘制直线。这个函数需要指定图像、线的起点和终点坐标、线的颜色、线的宽度以及线的类型。
下面是 cv2.line() 函数的详细参数说明:
cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
参数解释:
img: 要在其上绘制直线的图像,应该是一个 NumPy 数组。
pt1: 直线的第一个点,坐标以元组形式给出,例如 (x1, y1)。
pt2: 直线的第二个点,坐标以元组形式给出,例如 (x2, y2)。
color: 直线的颜色,对于 BGR,我们传递一个元组,例如对于蓝色,传递 (255, 0, 0)。
thickness: 直线的宽度。如果是负数(通常是 -1),则线将被填充,形成一个矩形。
lineType: 线的类型,可以是 8 连接、4 连接等。默认值是 cv2.LINE_8。
shift: 坐标点中的小数位数。默认情况下,坐标是整数。如果传递一个非零值,例如 2,那么坐标将被缩放。例如,点 (10.5, 20.5) 在 shift=1 时将被转换为 (105, 205)。
下面是一个使用 cv2.line() 绘制直线的简单示例:
import cv2
import numpy as np
# 创建一个黑色的空白图像
image = np.zeros((512, 512, 3), dtype="uint8")
# 在图像上绘制一条从左上角到右下角的红色直线,宽度为 5
cv2.line(image, (0, 0), (511, 511), (0, 0, 255), 5)
# 显示图像
cv2.imshow("Line", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个例子中,我们创建了一个黑色的空白图像,并使用 cv2.line() 在上面绘制了一条红色的直线,从左上角 (0, 0) 到右下角 (511, 511),直线的宽度设置为 5 像素。最后,我们使用 cv2.imshow() 显示图像,并使用 cv2.waitKey() 和 cv2.destroyAllWindows() 来处理键盘输入和关闭窗口。
在OpenCV中,cv2.rectangle() 函数用于在图像上绘制矩形。该函数需要指定图像、矩形的左上角和右下角坐标、矩形的颜色、线条宽度以及线条类型。
下面是 cv2.rectangle() 函数的详细参数说明:
cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
参数解释:
下面是一个使用 cv2.rectangle() 绘制矩形的简单示例:
import cv2
import numpy as np
# 创建一个黑色的空白图像
image = np.zeros((512, 512, 3), dtype="uint8")
# 在图像上绘制一个红色的矩形,左上角坐标 (30, 30),右下角坐标 (300, 300),线条宽度为 2
cv2.rectangle(image, (30, 30), (300, 300), (0, 0, 255), 2)
# 显示图像
cv2.imshow("Rectangle", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个例子中,我们创建了一个黑色的空白图像,并使用 cv2.rectangle() 在上面绘制了一个红色的矩形。矩形的左上角坐标是 (30, 30),右下角坐标是 (300, 300),线条宽度设置为 2 像素。最后,我们使用 cv2.imshow() 显示图像,并使用 cv2.waitKey() 和 cv2.destroyAllWindows() 来处理键盘输入和关闭窗口。
在OpenCV中,cv2.circle() 函数用于在图像上绘制圆。这个函数需要指定图像、圆心的坐标、半径、圆的颜色、线条宽度以及线条类型。
下面是 cv2.circle() 函数的详细参数说明:
cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])
参数解释:
下面是一个使用 cv2.circle() 绘制圆的简单示例:
import cv2
import numpy as np
# 创建一个黑色的空白图像
image = np.zeros((512, 512, 3), dtype="uint8")
# 在图像上绘制一个红色的圆,圆心在 (256, 256),半径为 100,线条宽度为 2
cv2.circle(image, (256, 256), 100, (0, 0, 255), 2)
# 显示图像
cv2.imshow("Circle", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个例子中,我们创建了一个黑色的空白图像,并使用 cv2.circle() 在上面绘制了一个红色的圆。圆心的坐标是 (256, 256),半径是 100 像素,线条宽度设置为 2 像素。最后,我们使用 cv2.imshow() 显示图像,并使用 cv2.waitKey() 和 cv2.destroyAllWindows() 来处理键盘输入和关闭窗口。
在OpenCV中,cv2.ellipse() 函数用于在图像上绘制椭圆。这个函数需要指定图像、椭圆的中心点、椭圆的长半轴和短半轴、旋转角度、椭圆的开始角度和结束角度(以度为单位)、椭圆的颜色、线条宽度以及线条类型。
下面是 cv2.ellipse() 函数的详细参数说明:
cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]])
参数解释:
下面是一个使用 cv2.ellipse() 绘制椭圆的简单示例:
import cv2
import numpy as np
# 创建一个黑色的空白图像
image = np.zeros((512, 512, 3), dtype="uint8")
# 在图像上绘制一个红色的椭圆,中心点 (256, 256),长半轴 100,短半轴 50,旋转 0 度
cv2.ellipse(image, (256, 256), (100, 50), 0, 0, 360, (0, 0, 255), -1)
# 显示图像
cv2.imshow("Ellipse", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个例子中,我们创建了一个黑色的空白图像,并使用 cv2.ellipse() 在上面绘制了一个红色的椭圆。椭圆的中心点是 (256, 256),长半轴是 100 像素,短半轴是 50 像素,椭圆没有旋转(即 angle=0),绘制完整的椭圆(startAngle=0 和 endAngle=360)。最后,我们使用 cv2.imshow() 显示图像,并使用 cv2.waitKey() 和 cv2.destroyAllWindows() 来处理键盘输入和关闭窗口。
在OpenCV中,cv2.polylines() 函数用于在图像上绘制多条线段。这些线段可以是由一系列的点连接而成的多边形线条。
以下是 cv2.polylines() 函数的详细参数说明:
cv2.polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])
参数解释:
下面是一个使用 cv2.polylines() 绘制多边形的简单示例:
import cv2 import numpy as np # 创建一个黑色的空白图像 image = np.zeros((512, 512, 3), dtype="uint8") # 定义多边形的顶点 pts = np.array([[10, 50], [200, 50], [100, 300], [10, 50]], np.int32) # 在图像上绘制多边形线段,不闭合 cv2.polylines(image, [pts], False, (0, 255, 0), 3) # 显示图像 cv2.imshow("Polygon", image) cv2.waitKey(0) cv2.destroyAllWindows()
在这个例子中,我们创建了一个黑色的空白图像,并使用 cv2.polylines() 在上面绘制了一个绿色的多边形。多边形的顶点坐标存储在 pts 数组中,并通过一个列表传递给 cv2.polylines() 函数。isClosed 参数设置为 False,表示我们不希望线段闭合。线段的宽度设置为 3 像素,颜色为绿色。
请注意,即使 isClosed 设置为 False,由于 pts 数组中的最后一个点和第一个点相同,所以绘制的线段仍然会闭合。如果你不希望线段闭合,确保 pts 数组中的最后一个点和第一个点不相同。
在OpenCV中,cv2.putText() 函数用于在图像上绘制文本。这个函数在图像上添加文本标注,可以指定文本内容、字体、字号、颜色、线条粗细、线条类型、坐标位置等。
下面是 cv2.putText() 函数的详细参数说明:
cv2.putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])
参数解释:
下面是一个使用 cv2.putText() 绘制文本的简单示例:
import cv2 import numpy as np # 创建一个黑色的空白图像 image = np.zeros((300, 300, 3), dtype="uint8") # 在图像上绘制文本 text = "Hello, OpenCV!" org = (50, 50) fontFace = cv2.FONT_HERSHEY_SIMPLEX fontScale = 1 color = (255, 255, 255) thickness = 2 cv2.putText(image, text, org, fontFace, fontScale, color, thickness) # 显示图像 cv2.imshow("Text", image) cv2.waitKey(0) cv2.destroyAllWindows()
在这个例子中,我们创建了一个黑色的空白图像,并使用 cv2.putText() 在上面绘制了白色的文本 “Hello, OpenCV!”。文本的起始坐标是 (50, 50),字体类型是 cv2.FONT_HERSHEY_SIMPLEX,字体缩放因子是 1,线条宽度是 2。最后,我们使用 cv2.imshow() 显示图像,并使用 cv2.waitKey() 和 cv2.destroyAllWindows() 来处理键盘输入和关闭窗口。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。