【发布时间】:2012-06-13 06:33:15
【问题描述】:
我的软件应该判断谱带,给定谱带的位置,找到谱带的峰值点和宽度。
我学会了使用projection of the image 和find width of each peak。
但我需要一个更好的方法来找到投影。
我使用的方法将 1600 像素宽的图像(例如 1600X40)缩小为 1600 长的序列。理想情况下,我想使用相同的图像将图像减少到 10000 长的序列。
我想要更长的序列,因为 1600 点提供的分辨率太低。单个点会导致测量值有很大差异(如果一个带从 18 到 19 判断,则有 4% 的差异)。
如何从同一图像中获得更长的投影?
我使用的代码:https://stackoverflow.com/a/9771560/604511
import Image
from scipy import *
from scipy.optimize import leastsq
# Load the picture with PIL, process if needed
pic = asarray(Image.open("band2.png"))
# Average the pixel values along vertical axis
pic_avg = pic.mean(axis=2)
projection = pic_avg.sum(axis=0)
# Set the min value to zero for a nice fit
projection /= projection.mean()
projection -= projection.min()
【问题讨论】:
-
将原始问题的精髓放回帖子中可能是值得的,这样读者可以更好地理解它。我也稍微更新了我的答案。
标签: python image image-processing