目录
一、cv.line()
二,cv.cricle()
三,cv2.rectangle()
一、cv.line()
cv.line()
是 OpenCV 库中用于在图像上绘制直线的函数。它可以在图像上绘制一条直线,指定直线的起始点和结束点。
函数的语法如下:
cv.line(img, pt1, pt2, color, thickness=1, lineType=8, shift=0)
img
:图像数据-
pt1
:直线的起始点 -
pt2
:直线的终止点 -
color
:直线的颜色 -
thickness
:直线的粗细,如果为负值则为填充直线 -
lineType
:直线的类型,可以是 4、8 或者 16 -
shift
:点坐标中的小数位数
import cv2
# 创建一个黑色的图像
img = cv2.imread('咒术回战.jpg')
#调整图片大小
new_size = (800, 600)
img = cv2.resize(img, new_size)
# 绘制一条红色的对角线,从左上角到右下角
服务器托管网cv2.line(img, (0, 0), (img.shape[1], img.shape[0]), (255, 0, 255), 3)
# 显示图像
cv2.imshow('Line', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 等待按键,然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
效果如上图
二,cv.cricle()
cv.circle()
函数用于在任何图像上绘制圆。其参数如下:
cv.circle(image, center, radius, color, thickness, lineType)
-
image
:要绘制圆的图像 -
center
:圆的中心坐标。坐标表示为两个值的元组,即(X坐标值,Y坐标值)
-
radius
:圆的半径 -
color
:圆的边界线的颜色。对于 BGR 图像,使用一个元组。例如:(255,0,0)
为蓝色 -
thickness
:圆边界线的粗细(像素)。厚度 -1 像素将以指定的颜色填充矩形形状。 -
lineType
:圆边界线的类型。可以是 8 位无符号整数,在官方文档中可以找到其详细信息。
import cv2
# 读取图片
img = cv2.imread("image.jpg")
# 绘制圆
cv2.circle(img, (100, 100), 50, (0, 255, 0), 5)
# 显示图片
cv2.imshow("Image", img)
# 等待用户按下任意键
cv2.waitKey(0)
# 关闭所有窗口
cv2.destroyAllWindows()
三,cv2.rectangle()
cv2.rectangle()
函数用于在任何图像上绘制矩形,
cv2.rectangle(img, pt1, pt2, color, thickness=1, lineType=8)
其参数如下:
-
img
:要绘制矩形的图像 - pt1:矩形的左上角坐标。坐标表示为两个值的元组,即
(X坐标值,Y坐标值)
- pt2:矩形的右下角坐标
-
color
:矩形的边界线的颜色。对于 BGR 图像,使用一个元组。例如:(255,0,0)
为蓝色 -
thickness
:矩形边界线的粗细(像素)。厚度 -1 像素将以指定的颜色填充矩形形状。 -
lineType
:矩形边界线的类型。可以是 8 位无符号整数,在官方文档中可以找到其详细信息。
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 绘制矩形
cv2.rectangle(img, (100, 100), (200, 200), (0, 0, 255), -1)
# 显示图片
cv2.imshow('Image', img)
# 等待用户按下任意键
cv2.waitKey(0)
# 关闭所有窗口
cv2.destroyAllWindows()
四,cv.ellipse()
cv.ellipse()
是 OpenCV 中用于在图像上绘制椭圆形的函数。以下是这个函数的基本语法和一些参数的解释:
cv.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness, lineType, shift)
参数解释:
-
img
:要在其上绘制椭圆的图像。 -
center
:椭圆中心的坐标,通常是一个包含两个元素的元组,如(x, y)
。 -
axes
:椭圆长轴和短轴的一半长度,通常是一个包含两个元素的元组,如(width/2, height/2)
。 -
angle
:椭圆长轴的旋转角度,以度为单位。 -
startAngle
:椭圆弧的起始角度,以度为单位。服务器托管网 -
endAngle
:椭圆弧的结束角度,以度为单位。 -
color
:椭圆的颜色。对于 BGR,它通常是一个元组,例如 (255, 0, 0) 表示蓝色。 -
thickness
:线条的粗细,以像素为单位。如果设置为cv2.FILLED
,则椭圆会被填充。 -
lineType
:线条的类型。例如,cv2.LINE_8
、cv2.LINE_AA
等。这个参数通常是可选的。 -
shift
:点坐标中的小数位数。这个参数通常也是可选的。
以下是一个使用cv.ellipse()
的简单示例:
import cv2 as cv
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512, 512, 3), dtype=np.uint8)
# 定义椭圆的中心和轴长
center = (256, 256) # 椭圆中心在图像中心
axes = (200, 100) # 椭圆长轴和短轴的一半长度
# 定义椭圆的角度和其他参数
angle = 30 # 椭圆长轴旋转30度
startAngle = 0 # 椭圆弧的起始角度
endAngle = 180 # 椭圆弧的结束角度
color = (255, 0, 0) # 蓝色
thickness = 2 # 线宽为 2 像素
# 在图像上绘制椭圆
cv.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness)
# 显示图像
cv.imshow("Image with Ellipse", img)
# 等待按键,然后关闭窗口
cv.waitKey(0)
cv.destroyAllWindows()
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
学习 Rust 的同学,大概都有其他语言的背景。仔细分辨与已有知识的差别,或有助于更好地理解Rust。以下是把 C 语言与 Rust 作一初步对比,以见出其中差别。 1.变量声明: C语言使用int、float等关键字来声明变量的类型,而Rust则使用类型推断…