python图像处理(二)绘制函数图像

该博客主要介绍使用Python进行函数图像绘制,涵盖绘制2D简单函数、3D简单函数、分段函数,以及在一个坐标系中绘制多个函数等内容,聚焦于图像处理方面的函数图像绘制。

1.绘制2D简单函数

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,4*np.pi,100) #从0到4π均匀取100个值组成数组
wave=np.cos(x) #对x数组的每个数进行cos运算,算出来的值组成数组
plt.plot(x,wave) #对x和wave的每个相同索引的值作为坐标进行描点,然后使用直线进行连接
plt.show() #显示图像

在这里插入图片描述

2.绘制3D简单函数

import mpl_toolkits
import mpl_toolkits.mplot3d
import cv2
from mpl_toolkits.mplot3d import axes3d
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,50)
y=np.linspace(0,0,50) #y值固定为0,只在x-z平面描图
z=np.cos(x)
fig=plt.figure() #Figure Instance
ax=fig.gca(projection='3d') #设置3维图形模式
ax.plot(x,y,z,label='cos curve')
ax.set_title("3D cos curve")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel("z")
ax.legend() #显示图例
plt.show()
cv2.waitKey(0)

在这里插入图片描述
3.绘制分段函数

from mpl_toolkits.mplot3d import axes3d
import cv2
import numpy as np
import matplotlib.pyplot as plt

##画3d分段函数


x=np.linspace(0,2*np.pi,100)
seg1=[1 if (i<np.pi) else 0 for i in x] #每一段用包含1和0的数组进行表示,1表示这一段有效,0则无效
seg2=[1 if (i>=np.pi) else 0 for i in x]
y=np.linspace(0,0,100)
z=1*seg1+0*seg2 #表示在seg1段值为1,在seg2值为0

fig=plt.figure();
ax=fig.gca(projection='3d')
ax.plot(x,y,z,label='z=1(0<x<pi),z=0(pi<x<2*pi)')
ax.legend()
plt.show()
cv2.waitKey(0)

在这里插入图片描述

4.一个坐标系绘制多个函数

from mpl_toolkits.mplot3d import axes3d
import cv2
import numpy as np
import matplotlib.pyplot as plt

##画两个函数图像

x=np.linspace(0,2*np.pi,100)
seg1=[1 if (i<np.pi) else 0 for i in x]
seg2=[1 if (i>=np.pi) else 0 for i in x]
y=np.linspace(0,0,100)
z=1*seg1+0*seg2

y1=np.linspace(1,1,100)
z1=np.sin(x)

fig=plt.figure();
ax=fig.gca(projection='3d')
ax.plot(x,y,z,label='z=1(0<x<pi),z=0(pi<x<2*pi)') #绘制第一个函数
ax.plot(x,y1,z1,label='sin') #绘制h第二个函数
ax.legend()
plt.show()
cv2.waitKey(0)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值