2024-03-28 20:10:49 发布
网友
需要绘制光谱的强度与波长的关系图。另外,我需要从图表(下图)中确定波长:
我可以用哪个程序来做这个?但谷歌搜索了所有的视频分光仪?。我需要处理图像。在
那不是一张图表,而是一张图片。不管怎样,你可以从下面开始。在
您可以使用scipy加载图像。然后,在最简单的情况下,做一个水平切割,这将给你强度vs像素位置。在
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))。在
img_mean = img.mean(axis=0)
然后你必须找到一种方法将像素位置“校准”到波长。为此,你需要一个外部的“真相”来源,我不知道你有什么可用的。例如,您可以说绿线处的最大值为510 nm(像素405),而亮蓝色的最大值为460 nm(像素302)。然后,根据你的实验设置,你可以说像素的距离与波长成线性关系,然后你就可以进行转换了。在
希望这能对你有所指导。在
那不是一张图表,而是一张图片。不管怎样,你可以从下面开始。在
您可以使用
scipy
加载图像。然后,在最简单的情况下,做一个水平切割,这将给你强度vs像素位置。在那里有相当多的背景亮度。进行垂直平均可以得到更平滑的光谱(
img_mean = img.mean(axis=0)
)。在然后你必须找到一种方法将像素位置“校准”到波长。为此,你需要一个外部的“真相”来源,我不知道你有什么可用的。例如,您可以说绿线处的最大值为510 nm(像素405),而亮蓝色的最大值为460 nm(像素302)。然后,根据你的实验设置,你可以说像素的距离与波长成线性关系,然后你就可以进行转换了。在
希望这能对你有所指导。在
相关问题 更多 >
编程相关推荐