本文共 796 字,大约阅读时间需要 2 分钟。
简单来说通过参数n来判定峰-峰宽度,找到峰后连续N次没有超过峰的则认为该峰是真峰,谷同理。
*p保存找到的所有峰 *v保存找到的所有谷,最多不超过10个,超过十个直接退出函数。设置合适的n,将亮度直方图分割开来
/** * @brief ImageProcess::peakValley * @param img * @param n * @param p peak * @param v valley * @return */int ImageProcess::peakValley(Mat img,int n,int *p,int *v){ int hist[256]={0}; int max=0; if(img.type()!=CV_8UC1) { return -2; } for(int i=0;i(i,j)]++; } } for(int i=0;i<256;i++) { if(hist[i]>max) { max = hist[i]; } } max = max>>8; for(int i=0;i<256;i++) { hist[i] = hist[i]/max; if(hist[i]) qDebug() << i <<":"< =peak[peak_i]) { peak[peak_i] = hist[i]; err = 0; } else { if(err
转载地址:http://vqoxi.baihongyu.com/