我用 0 或 1 填充 numpy 数组,具体取决于计算的数组索引值是大于还是小于给定值。 这会产生一个由 0 和 1 组成的数组。 Matplotlib 不这么认为
计算比较 d=sin(bpi/180)x+sin(api/180)cos(bpi180)*y
unique语句打印“空间[0.1.]中的唯一值”
最后一张图片显示了相同的代码,带有 True/False 数组而不是 0/1
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
tan=np.tan
sin=np.sin
cos=np.cos
pi=np.pi
x=4
y=3
Max=.3
sizeOfSpace=2000
alpha=np.linspace(-10, 10,sizeOfSpace)
beta=np.linspace(-10, 10,sizeOfSpace)
space=np.zeros((sizeOfSpace,sizeOfSpace))
for i,a in enumerate(alpha):
for j,b in enumerate(beta):
d=sin(b*pi/180)*x+sin(a*pi/180)*cos(b*pi*180)*y
space[i,j]=int(0) if d<Max else int(1)
plt.imshow(space,cmap=plt.cm.gray)
plt.colorbar()
print(f'unique valeus in space {np.unique(space)}')
关于如何制作二值图像有什么建议吗?
将 numpy 导入为 np 将 matplotlib.pyplot 导入为 plt
数组 = np.random.rand(100, 100) > 0.5
plt.imshow(数组, cmap='灰色') plt.show()