目录
- 0、格式
- 1、功能
- 2、输入
- 3、输出
- 4、示例
- 5、备注
0、格式
-
line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
1、功能
- 在图像
上的两点img
,pt1
之间画一条线段pt2
2、输入
-
:要在上面画线段的图像img
-
:线段的第 1 个点pt1
-
:线段的第 2 个点pt2
-
:线段的颜色color
-
:线段的粗细thickness
-
:线段的类型lineType
-
:坐标精确到小数点后第几位shift
3、输出
-
:画完线段的输入图像img
4、示例
- 代码
# 导入 OpenCV
import cv2 as cv
# 读取图像
imgBgr = cv.imread(r'/home/work/0/OpenCV/0/img/Ta152.jpg')
print('imgBgr.shape:', imgBgr.shape) # (768, 1024, 3)
# 获取图像角点坐标
ptLeftUp = (0, 0)
ptRightUp = (imgBgr.shape[1], 0)
ptRightDown = (imgBgr.shape[1], imgBgr.shape[0]) # (h, w) -> (x, y)
ptLeftDown = (0, imgBgr.shape[1])
# 画线段
imgRet = cv.line(imgBgr, ptLeftUp, ptRightDown, (0, 255, 0), 3)
# 比较输入图像和返回图像的内存地址
print('id(imgBgr) == id(imgRet):', id(imgBgr) == id(imgRet)) # True
# 显示图像
cv.imshow('imgBgr', imgBgr)
cv.imshow('imgRet', imgRet)
idKey = cv.waitKey(0)
if idKey == '27': # 27 为 ESC 键对应的 ASCII 码
cv.destroyAllWindows()
- 效果
7、OpenCV 画线段 —— cv.line()0、格式1、功能2、输入3、输出4、示例5、备注
5、备注
-
、pt1
的中对应的坐标顺序为pt2
、(x1, y1)
(x2, y2)
- 超出图像范围的线段会被截断
- 返回图像和输入图像是同一张图