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

Python 如何绘制光谱强度与波长的关系图?,python,graph,physics,spectrum,Python,Graph,Physics,Spectrum,需要绘制光谱强度与波长的关系图。此外,me需要根据图表(下图)确定波长: 用哪个程序我可以做到这一点?我在谷歌程序中搜索过,但它们都与视频有关(例如theremino光谱仪)?。我需要处理图像。那不是一张图,而是一张图。无论如何,你可以从下面开始 您可以使用scipy加载图像。然后,在最简单的情况下,做一个水平切割,这将给你强度与像素位置的对比 import scipy.misc as misc import matplotlib.pyplot as plt img = misc.imrea

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


用哪个程序我可以做到这一点?我在谷歌程序中搜索过,但它们都与视频有关(例如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\u mean=img.mean(axis=0)

然后你必须找到一种方法来“校准”像素位置到波长。为此,你需要一个“真相”的外部来源,我不知道你有什么可用的。例如,您可以说绿线处的最大值为510 nm(像素405),而亮蓝色的最大值为460 nm(像素302)。然后,根据您的实验设置,您可能可以说像素距离与波长成线性关系,然后您就可以进行转换


希望这能对您有所指导。

编译后,我会得到一个空的。问题是什么?忘记做切片了,代码更正了。