散点图
matplotlib.pyplot.scatter(x,y,s=20,c=‘b’,…)
- x,y:数据点
- s:大小,默认20,可选
- c:颜色,默认蓝色’b’,可选
import numpy as np
import matplotlib.pyplot as plt
#生成200个随机数坐标
x=np.random.randn(200)
y=np.random.randn(200)
#随机点的大小和颜色
size = 50* np.random.randn(200)
colors = np.random.rand(200)
#设置字体样式大小
plt.rc('font',family='SimHei',size=13)
#显示字符
plt.rcParams['axes.unicode_minus']=False
plt.scatter(x,y,s=size,c=colors)
#u是更改字符编码
plt.xlabel(u"x坐标")
plt.ylabel(u"y坐标")
plt.title(u"Matplotlib绘制散点图")
plt.show()
plt.rcParams
rand和randn
randn:标准正态分布
rand:[0,1)之间的均匀分布
直线
cv2.line(img,pt1,pt2,color,…)
- img:需要绘制直线的图像
- pt1:线段第一个点的坐标
- pt2:线段第二个点的坐标
- color:线条颜色,需要传入一个RGB元组
import numpy as np
import cv2
#绘制一幅3位且长宽为256*256的黑色图像
img = np.zeros((256,256,3),np.uint8)
cv2.line(img,(0,0),(255,255),(55,255,255),5)
cv2.imshow('line',img)
#无线等待键盘输入
cv2.waitKey(0)
#删除所有窗口
cv2.destroyAllWindows()
矩形
cv2.rectangle(img,pt1,pt2,color,thickness,lineType)
- img:需要绘制矩形的图像
- pt1:矩形左上角坐标
- pt2:矩形右上角坐标
- color:矩形颜色
- thickness:线条粗细
- lineType:线条类型
import numpy as np
import cv2
img=np.zeros((256,256,3),np.uint8)
cv2.rectangle(img,(50,50),(200,250),(255,0,0),2)
cv2.imshow('rectangle',img)
cv2.waitKey(0)
cv2.destoryAllWindows()
圆形
cv2.circle(img,center,radius,color,thickness,lineType,…)
- img:绘制圆的图像
- center:圆心坐标
- randius:半径
- color:颜色
- thickness:正值–圆轮廓的厚度,负值–填充圆
- lineType:边界类型
import cv2
import numpy as np
img=np.zeros((256,256,3),np.uint8)
#cv2.circle(img,(175,175),50,(55,100,100),5)
cv2.circle(img,(175,175),50,(55,100,100),-1)#填充圆
cv2.imshow('cicle',img)
cv2.waitKey(0)
cv2.destoryAllWindows()
椭圆
cv2.ellipse(img,center,axes,angle,strtAngle,endAngle,color,thickness,…)
- img:绘制椭圆的图像
- center:椭圆圆心
- axes:轴的长度
- angle:偏转角度
- startAngle:圆弧起始角的角度
- endAngle:圆弧结束角的角度
- thickness:正值–椭圆轮廓厚度,负值–填充椭圆
import cv2
import numpy as np
img = np.zeros((256,256,3),np.uint8)
#cv2.ellipse(img,(100,100),(100,50),0,0,360,(22,33,44),5)
#如果起始角度和结束角度不是0和360,椭圆有缺口
cv2.ellipse(img,(100,100),(100,50),20,0,300,(22,33,44),-1)
cv2.imshow('ellipse',img)
cv2.waitKey(0)
cv2.destoryAllWindows()
多边形
将各个顶点按顺序连接
cv2.polylines(img,pts,isClosed,color,thickness,…)
- img: 需要绘制的图像
- pts:多边形曲线阵列
- isClosed:绘制的多边形是否闭合,True/False
- color:线条颜色
- thickness:线条厚度
import cv2
import numpy as np
#img = np.zeros((256,256,3),np.uint8)
#pts = np.array([[20,50],[90,100],[150,200],[250,250]])
img = np.zeros((512,512,3),np.uint8)
pts = np.array([[50,190],[380,420],[255,50],[120,420],[450,190]])
cv2.polylines(img,[pts],True,(77,88,99),3)
cv2.imshow('polines',img)
cv2.waitKey(0)
cv2.destoryAllWindows()
文字
cv2.putText(img,text,org,fontFace,fontScale,color,thickness,…)
- img: 要绘制的图像
- text:要绘制的文字
- org:绘制位置
- fontFace:字体类型
- fontScale:字体大小
- color:字体颜色
- thickness:字体粗细
import cv2
import numpy as np
img = np.zeros((256,256,3),np.uint8)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'ahhahaha',(100,100),font,1,(66,88,99),5)
cv2.imshow('text',img)
cv2.waitKey(0)
cv2.destoryAllWindows()