相关疑难解决方法(0)

在1D numpy数组中使用Numpy查找局部最大值/最小值

你能否建议numpy/scipy的模块函数可以在1D numpy数组中找到局部最大值/最小值?显然,最简单的方法是看看最近的邻居,但我希望有一个公认的解决方案,这是numpy发行版的一部分.

python numpy

107
推荐指数
8
解决办法
17万
查看次数

用于检测峰宽的鲁棒算法

在此输入图像描述

我问如何以编程方式判断频段和@detly使用FWHM(半高全宽),以确定峰的宽度建议.我四处搜索,发现FWHM可用于拟合模型(我实际上是一个门外汉!),特别是高斯模型.具体来说,2.354 * sigma是高斯模型的宽度.

由于存在不良峰值,我正在寻找高斯适合.这张照片中有4个结构良好的峰.然后是"双峰"(虽然两者都很重要)和两个展开峰.他们将证明对天真的FWHM来说是一个不可能的挑战.

你能帮助生成Scip/Numpy峰值的guassian拟合(用于FWHM计算),因为它是x坐标的近似位置吗?如果Guassian是一个糟糕的选择,那么其他一些计划.

python scipy

15
推荐指数
1
解决办法
7299
查看次数

图像投影的采样率更高

我的软件应判断频谱带,并根据频段的位置,找到频段的峰值点和宽度.

在此输入图像描述

我学会了拍摄图像的投影并找到每个峰的宽度.


但我需要一种更好的方法来找到投影.

我使用的方法将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()
Run Code Online (Sandbox Code Playgroud)

python image image-processing

1
推荐指数
1
解决办法
776
查看次数

标签 统计

python ×3

image ×1

image-processing ×1

numpy ×1

scipy ×1