函数: cv2.line(img,pts,color,thickness,linetype)
img: 图像 color: 形状的颜色,元祖如(225,0,0) pts:起点和终点 thickness:线条的粗壮。-1位填充,默认值为1 linetype:线条的类型 8 型或cv2.LINE_AA,默认为8型。
# 创建一张黑色的背景图
img=np.zeros((512,512,3), np.uint8)
cv2.imshow("black", img)
cv2.waitKey(0)
cv2.destroyWindow("black")
# 绘制一条线宽为5的线段
cv2.line(img,(0,0),(200,500),(0,0,255),5)
winname = 'example'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)
cv2.rectangle(img,prets,color,thickness,linetype)
img: 图像 color: 形状的颜色,元祖如(225,0,0) thickness:线条的粗壮。-1位填充,默认值为1 linetype:线条的类型
# 创建一张黑色的背景图
img=np.zeros((512,512,3), np.uint8)
# 画一个绿色边框的矩形,参数2:左上角坐标,参数3:右下角坐标
cv2.rectangle(img,(384,0),(510,128),(0,255,255),1)
winname = 'example'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)
cv2.circle(img,pts,radius,color,thickness,linetype)
img: 图像 pts: 圆心 radius: 半径 color: 形状的颜色,元祖如(225,0,0) thickness:线条的粗壮。-1位填充,默认值为1 linetype:线条的类型
# 创建一张黑色的背景图
img=np.zeros((512,512,3), np.uint8)
# 画一个填充红色的圆,参数2:圆心坐标,参数3:半径
cv2.circle(img,(447,63), 63, (0,0,255), -1)
winname = 'example'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)
cv2.ellipse()
img: 图像 参数2: 圆心 参数3: 半径 参数4: 形状的颜色,元祖如(225,0,0) 参数5:线条的粗壮。-1位填充,默认值为1 参数6:线条的类型
# 创建一张黑色的背景图
img=np.zeros((512,512,3), np.uint8)
# 在图中心画一个填充的半圆
cv2.ellipse(img, (256, 256), (100, 50), 0, 30, 180, (255, 0, 0), -1)
winname = 'example'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)
cv2.polylines(img,pts,isClosed,color,thickness,lineType)
img: 图像 pts: 圆心 isClosed: 布尔型,True表示的是线段闭合,False表示的是仅保留线段 color: 形状的颜色,元祖如(225,0,0) thickness:线条的粗壮。-1位填充,默认值为1 linetype:线条的类型
# 创建一张黑色的背景图
img=np.zeros((512,512,3), np.uint8)
# 定义四个顶点坐标
pts = np.array([[10, 5], [50, 10], [70, 20], [20, 30]])
print(pts)
# 顶点个数:4,矩阵变成4*1*2维
pts = pts.reshape((-1, 1, 2))
print(pts)
#绘制椭圆
cv2.polylines(img, [pts], True, (0, 255, 255))
winname = 'example'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)
cv.putText()
img: 图像 参数2: 要添加文本 参数3: 文字的起始坐标(左下角为起点) 参数4: 字体 参数5: 字体大小(缩放比例) 参数6: 颜色 参数7: 线条宽度 参数8:线条形状
# 创建一张黑色的背景图
img=np.zeros((512,512,3), np.uint8)
#添加文字
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(50,200), font, 3,(0,255,255),5)
winname = 'example'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)
import numpy as np
import cv2
# 创建一张黑色的背景图
img=np.zeros((512,512,3), np.uint8)
# 绘制一条线宽为5的线段
cv2.line(img,(0,0),(511,511),(255,0,0),1)
# 画一个绿色边框的矩形,参数2:左上角坐标,参数3:右下角坐标
cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
# 画一个填充红色的圆,参数2:圆心坐标,参数3:半径
cv2.circle(img,(447,63), 63, (0,0,255), -1)
# 在图中心画一个填充的半圆
cv2.ellipse(img, (256, 256), (100, 50), 0, 0, 180, (255, 0, 0), -1)
#绘制多边形
pts=np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts=pts.reshape((-1,1,2))
cv2.polylines(img,[pts], True, (0,0,255),1)
# 这里 reshape 的第一个参数为-1, 表明这一维的长度是根据后面的维度的计算出来的。
#添加文字
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2)
winname = 'example'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)