我想将浮点数(例如-1.45)栅格化为numpy数组,可以将其可视化为灰度图像。您可以将结果图像视为黑色图像,黑白像素写出“ -1.45”。
令我惊讶的是,没有现成的工具可以做到这一点。这样做的最Python方式是什么?
答案 0 :(得分:1)
您可以使用matplotlib
将数字绘制为文本,然后将其转换为numpy
数组:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import image
def rasterise_n(n):
fig, ax = plt.subplots(figsize=(1, 1))
ax.text(0.5, 0.5, n, va='center', ha='center', fontsize=24)
ax.tick_params(left=False, labelleft=False, bottom=False, labelbottom=False)
for spine in ax.spines.values():
spine.set_visible(False)
fig.canvas.draw()
return np.frombuffer(fig.canvas.tostring_rgb(), dtype=np.uint8).reshape(fig.canvas.get_width_height()[::-1] + (3,))
result = rasterise_n(1.45)