python图像绘制

散点图

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()

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值