【发布时间】:2017-10-24 12:34:48
【问题描述】:
需要绘制光谱的强度与波长的关系图。另外,我需要从图中确定波长(下图):
使用哪个程序我可以做到这一点?我在 Google 程序中搜索,但它们都使用视频 (例如 theremino 光谱仪)?。我需要处理图像。
【问题讨论】:
标签: python graph physics spectrum
需要绘制光谱的强度与波长的关系图。另外,我需要从图中确定波长(下图):
使用哪个程序我可以做到这一点?我在 Google 程序中搜索,但它们都使用视频 (例如 theremino 光谱仪)?。我需要处理图像。
【问题讨论】:
标签: python graph physics spectrum
那不是图表,而是图片。无论如何,您可以按照以下方式开始。
您可以使用scipy 加载图像。然后,在最简单的情况下,进行水平切割,这将为您提供强度与像素位置的关系。
import scipy.misc as misc
import matplotlib.pyplot as plt
img = misc.imread('spectrum.png', mode='L')
mid_line = img[len(img)//2]
plt.plot(mid_line)
plt.show()
那里有相当多的背景亮度。进行垂直平均会得到更平滑的光谱 (img_mean = img.mean(axis=0))。
然后你必须找到一种方法来“校准”像素位置到波长。为此,您需要一个“真相”的外部来源,我不知道您有什么可用的。例如,您可以说绿线处的最大值为 510 nm(像素 405),而亮蓝色处的最大值为 460 nm(像素 302)。然后,根据您的实验设置,您可能会说以像素为单位的距离与波长成线性关系,然后您就可以进行转换了。
希望这能给你一些指导。
【讨论】: