如何绘制光谱强度与波长的关系图?

How to plot graph the intensity versus wavelength for the spectrum?

需要绘制强度与光谱波长的关系图。另外,我需要根据图表(下图)确定波长:

我可以用哪个程序来做这个?我在 Google 程序中搜索, 但它们都与视频一起工作 (例如 theremino 光谱仪)?.我需要处理图像。

那不是图表而是图片。无论如何你可以开始如下。

您可以使用 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))。

然后你必须想办法"calibrate"像素位置到波长。为此,您需要 "truth" 的外部资源,我不知道您有什么可用的。例如,您可以说绿线处的最大值为 510 nm(像素 405),亮蓝色线处的最大值为 460 nm(像素 302)。然后,根据您的实验设置,您可能会说以像素为单位的距离与波长呈线性关系,然后进行转换。

希望这对您有所帮助。