方法很多,可以根据直方图曲线找峰和谷,根据需要确定阈值点。
==========
可以先对原图做平滑,也可以对直方图作平滑。
直方图本身可以看成一个一维离散信号,作平滑还是很容易的,不过找峰和谷的时候容易找到局部极值,需要些技巧。
=================================
使用插值平均的方法可以得到准确的波峰波谷。
算法简介:
1:使用线性内插值的方法将原来的数据量扩大
2:使用临近点平均法将扩大后的数据个数还原到原来的数量
注意点:
1:上述方法可以重复多次以达到比较好的效果,其最终效果类似于B样线条的结果。可以有效得去除信号噪声的干扰。
2:在线性内差的时候可以将内差量调大一些,以取得较好的平滑效果:比如将原来1K的数据插值到6K
再按照每6点平均采样的方法得到平滑数据就可以得到光滑的数据线了
3:该算法的优点在于对高频小幅噪声的去除很有效,缺点在于会使数据曲线变得平坦
4:解决该缺点的方法是对数据进行多次小倍率重复。(比如先插值到原来的3倍,再缩小,重复两次)
=============================================
双峰直方图阈值计算
1。选取一个初值T;
2。用T分割图像,得到两组像素,其中G1是大于T的,G2是小于等于T的;
3。计算G1和G2中像素的平均值M1和M2;
4。计算新阈值T=(1/2)(M1+M2);
5。迭代计算上述2至4步,直到T的差值小于某个预定值。
======================================
多谢各位了,我自己写了一个,大概的思路就是:
1.找到直方图中峰值最大的作为第一个峰
2.进行直方图的平滑处理
3.忽略第一个峰值左右一定数目的灰度级的像素数(避免将峰值附近的作为峰),然后统计其他的峰值,并记录它们
==========
可以先对原图做平滑,也可以对直方图作平滑。
直方图本身可以看成一个一维离散信号,作平滑还是很容易的,不过找峰和谷的时候容易找到局部极值,需要些技巧。
=================================
使用插值平均的方法可以得到准确的波峰波谷。
算法简介:
1:使用线性内插值的方法将原来的数据量扩大
2:使用临近点平均法将扩大后的数据个数还原到原来的数量
注意点:
1:上述方法可以重复多次以达到比较好的效果,其最终效果类似于B样线条的结果。可以有效得去除信号噪声的干扰。
2:在线性内差的时候可以将内差量调大一些,以取得较好的平滑效果:比如将原来1K的数据插值到6K
3:该算法的优点在于对高频小幅噪声的去除很有效,缺点在于会使数据曲线变得平坦
4:解决该缺点的方法是对数据进行多次小倍率重复。(比如先插值到原来的3倍,再缩小,重复两次)
=============================================
双峰直方图阈值计算
1。选取一个初值T;
2。用T分割图像,得到两组像素,其中G1是大于T的,G2是小于等于T的;
3。计算G1和G2中像素的平均值M1和M2;
4。计算新阈值T=(1/2)(M1+M2);
5。迭代计算上述2至4步,直到T的差值小于某个预定值。
======================================
多谢各位了,我自己写了一个,大概的思路就是:
