findpeaks函數(shù)可以獲得峰值位置。

10余年的安平網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整安平建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“安平網(wǎng)站設(shè)計”,“安平網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實(shí)執(zhí)行。
1、a=findpeaks(data),獲得data的局部峰值,此方法即峰值點(diǎn)大于相鄰兩點(diǎn)即可。
2、a,b=findpeaksd(ata),可以返回峰值位置,峰值位置賦予給b。
你的辦法估計可行性不高,稍微出個毛刺就不對了。
建議采用fft分析,根據(jù)頻域的結(jié)果判斷一個合理值。
#includestdio.h
#include?stdlib.h
#include?limits.h
#includemalloc.h
#define?maxsize?6?//每個波形數(shù)據(jù)最大采集個數(shù)??默認(rèn)6
typedef?struct?array1
{
int?*data;
struct?array1?*next;
}ARR1;
ARR1?*addNewArr(ARR1?*arrHead,ARR1?*arrTail);//插入一組波形數(shù)據(jù)節(jié)點(diǎn)?返回尾節(jié)點(diǎn)
int?findMaxF(ARR1?*arrHead);//查找最大峰值
int?removeMinF(ARR1?*arrHead);//移除最小峰值數(shù)據(jù)組???返回最小峰值
void?printfArr(ARR1?*arrHead);//打印數(shù)據(jù)鏈表
int?main()
{
ARR1?*arrHead=(ARR1?*)malloc(sizeof(ARR1));
arrHead-next=NULL;
ARR1?*arrTail=NULL;
arrTail=addNewArr(arrHead,arrTail);//想插入幾組,就調(diào)用幾次??我就測試6組
arrTail=addNewArr(arrHead,arrTail);
arrTail=addNewArr(arrHead,arrTail);
arrTail=addNewArr(arrHead,arrTail);
arrTail=addNewArr(arrHead,arrTail);
arrTail=addNewArr(arrHead,arrTail);
printf("采集的原數(shù)據(jù)組為:\n");
printfArr(arrHead);
printf("最大峰值:%d,最小峰值值:%d\n",findMaxF(arrHead),removeMinF(arrHead));
printf("刪除最小峰值數(shù)據(jù)組后的數(shù)據(jù)為:\n");
printfArr(arrHead);
return?0;
}
void?printfArr(ARR1?*arrHead)//打印數(shù)據(jù)鏈表
{
while(arrHead-next!=NULL)
{
printf("%d,%d,%d,%d,%d,%d\n",arrHead-next-data[0],arrHead-next-data[1],arrHead-next-data[2],arrHead-next-data[3],arrHead-next-data[4],arrHead-next-data[5]);
arrHead=arrHead-next;
}
}
ARR1?*addNewArr(ARR1?*arrHead,ARR1?*arrTail)//插入一組波形數(shù)據(jù)???返回尾節(jié)點(diǎn)
{
int?*data=(int?*)malloc(sizeof(int)*maxsize),i;
printf("采集一組波形數(shù)據(jù)(最大采集個數(shù)%d):",maxsize);
for(i=0;imaxsize;i++)
scanf("%d",data[i]);
ARR1?*arrNew=(ARR1?*)malloc(sizeof(ARR1));
arrNew-data=data;
arrNew-next=NULL;
if(arrHead-next==NULL)//插入第一組數(shù)組?作為首節(jié)點(diǎn)
arrHead-next=arrNew;
else
arrTail-next=arrNew;
arrTail=arrNew;
return?arrTail;
}
int?findMaxF(ARR1?*arrHead)//查找最大峰值
{
int?i,maxNum=0,maxf=0;
while(arrHead-next!=NULL)
{
maxNum=0;
for(i=0;imaxsize;i++)//獲取每組數(shù)據(jù)的峰值
{
if(arrHead-next-data[i]maxNum)
maxNum=arrHead-next-data[i];
}
if(maxNummaxf)//獲取最大峰值
maxf=maxNum;
arrHead=arrHead-next;
}
return?maxf;
}
int?removeMinF(ARR1?*arrHead)//移除最小峰值數(shù)據(jù)組???返回最小峰值
{
int?i,maxNum=0,minf=INT_MAX;
ARR1?*minDataSave=NULL,*arrHeadSave=arrHead;
while(arrHead-next!=NULL)
{
maxNum=0;
for(i=0;imaxsize;i++)//獲取每組數(shù)據(jù)的峰值
{
if(arrHead-next-data[i]maxNum)
maxNum=arrHead-next-data[i];
}
if(maxNumminf)//獲取最小峰值
{
minDataSave=arrHead-next;
minf=maxNum;
}
arrHead=arrHead-next;
}
arrHead=arrHeadSave;
//移除最小峰值數(shù)據(jù)組
while(arrHead-next!=NULL)
{
if(arrHead-next==minDataSave)//刪除節(jié)點(diǎn)重組鏈表
{
arrHead-next=minDataSave-next;
minDataSave-next=NULL;
free(minDataSave-data);//釋放節(jié)點(diǎn)內(nèi)存
free(minDataSave);
break;
}
arrHead=arrHead-next;
}
return?minf;
}
網(wǎng)站標(biāo)題:C語言找函數(shù)圖像的峰值 c語言圖像處理函數(shù)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article0/ddgcdio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、App設(shè)計、虛擬主機(jī)、網(wǎng)頁設(shè)計公司、網(wǎng)站設(shè)計公司、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)