cv2.line()
是 OpenCV 库中的一个函数,用于在图像上绘制一条线段。这个函数通常接受整数坐标作为参数,因为图像的像素坐标是以整数形式表示的。每个像素在图像中的位置都有一个唯一的整数坐标 (x, y)。
cv2.line()
不能接受浮点值?如果需要使用浮点数坐标,可以先将浮点数坐标四舍五入或向下取整为整数,然后再传递给 cv2.line()
函数。
import cv2
import numpy as np
# 创建一个空白图像
image = np.zeros((500, 500, 3), dtype=np.uint8)
# 浮点数坐标
start_point_float = (250.7, 100.3)
end_point_float = (100.4, 400.9)
# 将浮点数坐标转换为整数坐标
start_point_int = (int(start_point_float[0]), int(start_point_float[1]))
end_point_int = (int(end_point_float[0]), int(end_point_float[1]))
# 使用整数坐标绘制线段
cv2.line(image, start_point_int, end_point_int, (0, 255, 0), 2)
# 显示图像
cv2.imshow('Image with Line', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
通过这种方式,可以在保持代码简洁和高效的同时,实现所需的绘制效果。
领取专属 10元无门槛券
手把手带您无忧上云