本發(fā)明涉及圖像繪制領(lǐng)域,具體而言,涉及一種曲線繪制方法及裝置。
背景技術(shù):
傳統(tǒng)的定量提取算法中,道格拉斯-普克算法及其改進算法是將曲線近似表示為一系列點,并減少點的數(shù)量的方式,在效果上可以呈現(xiàn)數(shù)據(jù)的整體趨勢,但道格拉斯-普克算法的復雜度過高,一般計算機難以實現(xiàn)該算法。而簡單的間隔提取算法在性能上最優(yōu),但提取的特征點往往與數(shù)據(jù)本身的真實趨勢相差很大,很容易導致最終的特征點顯示的整體趨勢與原有趨勢相差很大,準確率低。
針對上述提取算法提取特征點的準確率的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種曲線繪制方法及裝置,以至少解決提取算法提取特征點的準確率低的技術(shù)問題。
根據(jù)本發(fā)明實施例提供了一種曲線繪制方法,包括:獲取構(gòu)成曲線的數(shù)據(jù)點;將數(shù)據(jù)點分為多個段;依次從多個段中的每個段提取特征點,其中,特征點用于表征該段對應曲線的特征;使用每個段中提取出的特征點繪制曲線。
進一步地,從多個段中的每個段提取特征點包括:從每個段中提取該段數(shù)據(jù)點中的最大值和最小值;將最大值和最小值作為該段的特征點。
進一步地,從每個段中提取該段數(shù)據(jù)點中的最大值和最小值的包括:獲取該段數(shù)據(jù)點中的起始的至少兩個數(shù)據(jù)點;將至少兩個數(shù)據(jù)點中數(shù)值最大的數(shù)據(jù)點的值賦值給最大值,數(shù)值最小的數(shù)據(jù)點的值賦值給最小值;依次將至少兩個數(shù)據(jù)點之后的數(shù)據(jù)點與賦值之后的最大值或最小值進行比較,并且在大于最大值或者小于最小值的情況下,對最大值和最小值進行重新賦值,直到遍歷完該段中的所有數(shù)據(jù)點,以得到該段數(shù)據(jù)點的最大值和最小值。
進一步地,還包括:判斷正在提取特征點的當前段中提取的特征點的數(shù)量是否小于閾值;在提取的特征點的數(shù)量小于閾值的情況下,獲取最近提取到的一個特征點;對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段之后再進行特征點的提取。
進一步地,從每個段中提取最大值和最小值兩個數(shù)據(jù)點作為特征點,在從當前段中僅提取到一個特征點或者沒有提取到特征點的情況下,對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段。
進一步地,重新進行分段包括:根據(jù)剩余的需要提取的特征點的數(shù)量對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段,其中,剩余的需要提取的特征點的數(shù)量是根據(jù)特征點的總量以及已經(jīng)提取出的特征點的數(shù)量得到的。
進一步地,特征點的總量為預先配置的,和/或,根據(jù)繪制曲線的設(shè)備的能力計算得到的。
根據(jù)本發(fā)明還提供了另一種實施例,提供了一種曲線繪制裝置,該裝置包括:第一獲取模塊,用于獲取構(gòu)成曲線的數(shù)據(jù)點;切分模塊,用于將數(shù)據(jù)點分為多個段;第一提取模塊,用于依次從多個段中的每個段提取特征點,其中,特征點用于表征該段對應曲線的特征;繪制模塊,用于對每個段中提取出的特征點繪制曲線。
進一步地,第一提取模塊包括:第二提取模塊,用于從每個段中提取該段數(shù)據(jù)點中的最大值和最小值;配置模塊,用于將最大值和最小值作為該段的特征點。
進一步地,第二提取模塊包括:第二獲取模塊,用于獲取該段數(shù)據(jù)點中的起始的至少兩個數(shù)據(jù)點;賦值模塊,用于將至少兩個數(shù)據(jù)點中數(shù)值最大的數(shù)據(jù)點的值賦值給最大值,數(shù)值最小的數(shù)據(jù)點的值賦值給最小值;比較模塊,用于依次將至少兩個數(shù)據(jù)點之后的數(shù)據(jù)點與賦值之后的最大值或最小值進行比較,并且在大于最大值或者小于最小值的情況下,對最大值和最小值進行重新賦值,直到遍歷完該段中的所有數(shù)據(jù)點,以得到該段數(shù)據(jù)點的最大值和最小值。
進一步地,還包括:判斷模塊,用于判斷正在提取特征點的當前段中提取的特征點的數(shù)量是否小于閾值;第三獲取模塊,用于在提取的特征點的數(shù)量小于閾值的情況下,獲取最近提取到的一個特征點;第三提取模塊,用于對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段之后再進行特征點的提取。
進一步地,還包括:第一重新分段模塊,用于在從每個段中提取最大值和最小值兩個數(shù)據(jù)點作為特征點,在從當前段中僅提取到一個特征點或者沒有提取到特征點的情況下,對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段。
進一步地,還包括:第二重新分段模塊,用于根據(jù)剩余的需要提取的特征點的數(shù)量對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段,其中,剩余的需要提取的特征點的數(shù)量是根據(jù)特征點的總量以及已經(jīng)提取出的特征點的數(shù)量得到的。
進一步地,特征點的總量為預先配置的,和/或,根據(jù)繪制曲線的設(shè)備的能力計算得到的。
在本發(fā)明實施例中,采用了先獲取構(gòu)成曲線的數(shù)據(jù)點,之后將數(shù)據(jù)點分為多個段,然后依次從多個段中的每個段提取特征點,最后使用每個段中提取出的特征點繪制曲線的方式,通過相應的軟件,達到了繪制曲線的目的,從而實現(xiàn)了反映曲線數(shù)據(jù)的整體趨勢的技術(shù)效果,進而解決了提取算法提取特征點的準確率低的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的曲線繪制方法的流程圖;
圖2是根據(jù)本發(fā)明實施例的一種可選的曲線繪制方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的曲線繪制裝置的結(jié)構(gòu)圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
根據(jù)本發(fā)明實施例,提供了一種曲線繪制方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實施例的曲線繪制方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,獲取構(gòu)成曲線的數(shù)據(jù)點;
步驟S104,將數(shù)據(jù)點分為多個段;
步驟S106,依次從多個段中的每個段提取特征點,其中,特征點用于表征該段對應曲線的特征;
步驟S108,使用每個段中提取出的特征點繪制曲線。
采用上述實施例,在獲取構(gòu)成曲線的數(shù)據(jù)點之后,將數(shù)據(jù)點分為多個段(對數(shù)據(jù)曲線進行分段時,分段的數(shù)量取決于提取特征點的量),然后依次從多個段中的每個段提取特征點,使用每個段中提取出的特征點繪制曲線。在該實施例中,在繪制曲線之前,對獲取到的數(shù)據(jù)點進行分段,并從每個段中提取特征點,這樣,提取每段對應曲線的特征點,通過動態(tài)分段提取特征點,能在定量的情況下保證最關(guān)鍵的特征點被提取出來,同時在點稀疏的情況下,能盡可能的利用定量的點配額,盡可能的反映曲線數(shù)據(jù)的整體趨勢,通過該實施例,達到了準確繪制曲線的目的,并可以真實反映曲線數(shù)據(jù)的整體趨勢,解決了提取算法提取特征點的準確率低的技術(shù)問題。
上述實施例中,從每段中提取出的特征點用于表征該段對應曲線的特征,可選地,每段中可以包括或不包括數(shù)據(jù)點,在段中包括數(shù)據(jù)點的情況下,該段中可以包括一個或多個數(shù)據(jù)點。
在上述實施例中,步驟S102,獲取構(gòu)成曲線的數(shù)據(jù)點,從數(shù)據(jù)庫中讀取構(gòu)成該曲線的數(shù)據(jù)點,例如,可以預先采集數(shù)據(jù)點,將數(shù)據(jù)點保存入數(shù)據(jù)庫中,在需要構(gòu)建曲線時,從數(shù)據(jù)庫中讀取用于構(gòu)成該曲線的數(shù)據(jù)點。
根據(jù)上述實施例,步驟S104,將數(shù)據(jù)點分為多個段,具體地,可以根據(jù)需要提取的特征點的數(shù)量和在每個段中提取特征點的數(shù)量確定分段的數(shù)量,這里的需要提取的特征點的數(shù)量可以為需要提取的特征點的數(shù)量的最小值,例如,需要提取的特征點的數(shù)量為20,如果在每個段中提取兩個特征點,則需要將獲取到的數(shù)據(jù)點分為10段。
需要說明的是,這里對數(shù)據(jù)點進行分段時,每個段的范圍可以基于曲線的橫軸范圍來確定。這里對數(shù)據(jù)點進行分段時,每個段的范圍也可以基于曲線的豎軸范圍來確定。
在該實施例中,從段中提取特征點的過程中,依次從多個段中的每個段提取特征點,從而可以在提取特征點的過程中,動態(tài)分段,而不是在一開始就固定好全部數(shù)據(jù)點的范圍,從而可以使得提取的特征點更能表示該點所在段對應曲線的數(shù)據(jù)趨勢(如,特征)。
在一個可選的實施例中,可以基于當前段中數(shù)據(jù)點的值確定的下述至少之一,作為該段的特征點:中值、極值和平均值。
可選地,從多個段中的每個段提取特征點可以包括:從每個段中提取該段數(shù)據(jù)點中的最大值和最小值,以及將最大值和最小值作為該段的特征點。在該實施例中,將該段中數(shù)值最大和最小的值作為該段的特征點,可以將該段的特征準確地表示出來,從而在繪制曲線時可以使得曲線的數(shù)據(jù)趨勢更加準確。
具體地,從每個段中提取該段數(shù)據(jù)點中的最大值和最小值的包括:獲取該段數(shù)據(jù)點中的起始的至少兩個數(shù)據(jù)點;將至少兩個數(shù)據(jù)點中數(shù)值最大的數(shù)據(jù)點的值賦值給最大值,數(shù)值最小的數(shù)據(jù)點的值賦值給最小值;依次將至少兩個數(shù)據(jù)點之后的數(shù)據(jù)點與賦值之后的最大值或最小值進行比較,并且在大于最大值或者小于最小值的情況,對最大值和最小值進行重新賦值,直到遍歷完該段中的所有數(shù)據(jù)點,以得到該段數(shù)據(jù)點的最大值和最小值。
本發(fā)明實施例根據(jù)提取特征點的數(shù)量設(shè)置分段,當首次處理分段后的數(shù)據(jù)點時,把當前數(shù)據(jù)點分別賦給該分段(即上述實施例的段)的最大值和最小值,而后續(xù)數(shù)據(jù)點與該分段的最大值、最小值比較,當當前數(shù)據(jù)點大于最大值時,用當前數(shù)據(jù)點更新最大值,當當前數(shù)據(jù)點小于最小值時,用當前數(shù)據(jù)點更新最小值,保證了最關(guān)鍵的特征點被提?。贿M一步地,對于每個段的數(shù)據(jù)點中的最大值和最小值分開賦值,當出現(xiàn)需要更新的數(shù)值時,依據(jù)上述方式更新數(shù)據(jù)點的最大值或最小值,這樣,數(shù)據(jù)點的最大值和最小值不斷變化,提取出的特征點所表示的整體趨勢會更接近實際曲線趨勢。
本發(fā)明實施例的方法還可以包括:判斷正在提取特征點的當前段中提取的特征點的數(shù)量是否小于閾值;在小于閾值的情況下,獲取最近提取到的一個特征點;對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段之后再進行特征點的提取。本發(fā)明實施例對于特征點的確定做一個準確判斷,根據(jù)設(shè)定的閾值與從分段(即上述的當前段)中提取出的特征點的數(shù)量作比較,以判斷是否需要重新分段,從而實現(xiàn)動態(tài)分段,以準確確定曲線整體趨勢。
具體地,可以預先設(shè)置閾值,例如,閾值設(shè)置為2,在從當前段中提取出的特征點的數(shù)量小于2的情況下,確定需要重新分段。
可選地,在確定需要重新分段的情況下,獲取最近提取到的一個特征點,對該最近提取到的一個特征點所屬的段之后的曲線的數(shù)據(jù)點進行重新分段,并在重新分段之后再提取特征點。
另一種可選地,在確定需要重新分段的情況下,對該最近提取到的一個特征點之后的曲線的數(shù)據(jù)點進行重新分段,并在重新分段之后再提取特征點。
在一個可選的實施例中,在本發(fā)明實施例中需要從每個段中提取最大值和最小值兩個數(shù)據(jù)點作為特征點,在從當前段中僅提取到一個特征點或者沒有提取到特征點的情況下,對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段,這樣本發(fā)明實施例在特征點沒有或僅有一個特征點的情況下,可以對數(shù)據(jù)點重新進行分段。
在獲取到的數(shù)據(jù)點稀疏(如,獲取到的數(shù)據(jù)點的數(shù)量小于預定閾值,該閾值可以為100)的情況下,在處理完當前段時(如,從當前段中提取出特征點),如果發(fā)現(xiàn)當前段中只能提取出一個特征點(此時,表示當前段的范圍內(nèi)只有一個數(shù)據(jù)點)或者沒有提取到特征點(此時,該段內(nèi)沒有數(shù)據(jù)點),那就根據(jù)剩余的點配額,重新設(shè)置分段(即重新進行分段),此時,分段范圍只會更小,把前面分段沒有用到的點配額動態(tài)分配給了后續(xù)的分段,得到的特征點更加準確,也更能反應曲線的趨勢。
具體地,重新進行分段包括:根據(jù)剩余的需要提取的特征點的數(shù)量對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段,其中,剩余的需要提取的特征點的數(shù)量是根據(jù)特征點的總量以及已經(jīng)提取出的特征點的數(shù)量得到的。當重新設(shè)置分段時,重新分段的數(shù)量取決于剩余特征點配額的量,剩余特征點配額(即剩余的需要提取的特征點的數(shù)量)是預計要提取的特征點數(shù)量(即特征點的總量)減去已經(jīng)提取出的特征點數(shù)量,可以達到將特征點進行更合理的分配。
其中,剩余的需要提取的特征點的數(shù)量是基于需要提取的特征點的總的數(shù)量和已經(jīng)提取的特征點的數(shù)量確定的,如,將需要提取的特征點的總的數(shù)量(即預計要提取的特征點數(shù)量)與已經(jīng)提取的特征點數(shù)量的差值作為剩余的需要提取的特征點的數(shù)量。
重新分段的數(shù)量可以基于剩余特征點配額與每段預計提取出的特征點的數(shù)量而確定,如,將剩余特征點配額與每段預計提取出的特征點的數(shù)量的比值作為重新分段的數(shù)量。
通過上述實施例,根據(jù)剩余的點配額動態(tài)重置分段,在保證特征點不會超過定量的情況下,利用點配額提取盡可能多的特征點,從而盡可能的反映曲線數(shù)據(jù)的整體趨勢,提高提取效果。
可選地,特征點的總量為預先配置的,和/或,根據(jù)繪制曲線的設(shè)備的能力計算得到的。
軟件繪制數(shù)據(jù)曲線時,為了更詳細的看到數(shù)據(jù)的趨勢,往往要求計算機提取盡可能多的點來進行呈現(xiàn),這無疑會增加計算機處理數(shù)據(jù)時的負擔,且在呈現(xiàn)數(shù)據(jù)曲線的顯示設(shè)備分辨率有限的情況下,提取過多的點并不能增強呈現(xiàn)數(shù)據(jù)整體趨勢時的效果(如,顯示分辨率在橫向為1024,那提取過多的點也呈現(xiàn)不出效果,反而會增加計算機程序處理數(shù)據(jù)時的負載),因此在軟件繪制數(shù)據(jù)曲線時,定量提取曲線數(shù)據(jù)的特征點具有很好的意義。
下面以一個具體地實施例為例對本發(fā)明進行說明,具體實施方式如下:
圖2是根據(jù)本發(fā)明的一個曲線繪制方法的流程圖,如圖2所示,該方法包括如下步驟:
步驟S202,根據(jù)提取特征點的數(shù)量對曲線數(shù)據(jù)進行分段,并把第一個分段作為當前分段。
本發(fā)明實施例中對數(shù)據(jù)曲線進行分段時,分段的數(shù)量取決于提取特征點的量。如曲線數(shù)據(jù)點的橫軸范圍為Ts到Te,需要提取不多于N個特征點,由于每個分段只提取該分段內(nèi)的最大值和最小值,那么每個分段最多兩個特征,因此分段的數(shù)量為[N/2],就是N/2取整,每個分段的范圍就是(Te-Ts)/[N/2]。
步驟S204,執(zhí)行讀取曲線數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)點的操作。
步驟S206:判斷是否讀取到數(shù)據(jù)點。
如果讀取成功(即讀取到數(shù)據(jù)點),則執(zhí)行步驟S208;否則(即沒有讀取到數(shù)據(jù)點),表示曲線數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)點已經(jīng)處理完畢,結(jié)束流程。
步驟S208:用當前分段處理當前讀取到的數(shù)據(jù)點。
步驟S210:判斷當前讀取到的數(shù)據(jù)點是否在當前分段范圍內(nèi)。
如果在當前分段范圍內(nèi),則執(zhí)行步驟S210,用此數(shù)據(jù)點維護當前分段的最大值和最小值,并轉(zhuǎn)到步驟S204繼續(xù)讀取新的數(shù)據(jù)點;否則,也即如果該數(shù)據(jù)點不在當前分段范圍內(nèi),則保存當前分段的特征點(當最大或最小值為空時,表示該分段內(nèi)沒有數(shù)據(jù)點,當最大、最小值相等時,表示該分段內(nèi)就一個數(shù)據(jù)點,也就是從該分段中只提取一個特征點),并執(zhí)行步驟S212。
步驟S212:如果當前分段中有最大和最小值,判斷兩者是否不為同一點。
如果兩者不是同一點,則執(zhí)行步驟S214;如果兩者是同一點,則執(zhí)行步驟S216。
步驟S214:將當前分段的下一分段設(shè)置為當前分段,并執(zhí)行步驟S20。
步驟S216:以當前數(shù)據(jù)點為始重新設(shè)置分段,分段數(shù)剩余點配合確定。
步驟S218:重新分段后的第一個分段作為當前分段,并執(zhí)行步驟S204。
在上述實施例中,如果當前分段中有最大、最小值,且二者不為同一點(此時表示提取到兩個特征點,此時不用后續(xù)特征點配額不會改變,因此不需要重置分段),就把當前分段的下一個分段作為當前分段,并處理當前數(shù)據(jù)點,然后繼續(xù)讀取新數(shù)據(jù)點進行處理。
進一步地,如果當前分段中沒有最大、最小值,且兩者是同一點,就計算剩余特征點配額(剩余特征點配額是預計要提取的特征點數(shù)量減去已經(jīng)提取的特征點數(shù)量),并根據(jù)剩余特征點配額對從當前數(shù)據(jù)點開始的曲線數(shù)據(jù)進行重新分段,并把重新分段后的第一個分段作為當前分段,然后處理當前數(shù)據(jù)點,處理完成后繼續(xù)讀取新數(shù)據(jù)點進行處理。
本發(fā)明實施例根據(jù)預置的定量對整個曲線數(shù)據(jù)進行分段,且每段內(nèi)只需找到最大、最小值,這樣能保證最關(guān)鍵的特征點被提取,從根本上保證了提卻的效果。本發(fā)明實施例在提取特征點時,只遍歷數(shù)據(jù)一次,相對于道格拉斯算法,大大降低了算法的復雜度,提高了提取的效率和性能,同時通過動態(tài)分段提取特征點,能在定量的情況下保證最關(guān)鍵的特征點被提取出來,在點稀疏的情況下,能盡可能的利用定量的點配額,盡可能的反映曲線數(shù)據(jù)的整體趨勢,通過該實施例,達到了準確繪制曲線的目的,并可以真實反映曲線數(shù)據(jù)的整體趨勢,解決了提取算法提取特征點的準確率低的技術(shù)問題。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種曲線繪制裝置,如圖3所示,該裝置包括:第一獲取模塊11,用于獲取構(gòu)成曲線的數(shù)據(jù)點;切分模塊12,用于將數(shù)據(jù)點分為多個段;第一提取模塊13,用于依次從多個段中的每個段提取特征點,其中,特征點用于表征該段對應曲線的特征;繪制模塊14,用于對每個段中提取出的特征點繪制曲線。
采用上述實施例,在獲取模塊獲取構(gòu)成曲線的數(shù)據(jù)點之后,通過切分模塊將數(shù)據(jù)點分為多個段(對數(shù)據(jù)曲線進行分段時,分段的數(shù)量取決于提取特征點的量),然后利用第一提取模塊依次從多個段中的每個段提取特征點,使用繪制模塊對每個段中提取出的特征點繪制曲線。在該實施例中,在繪制曲線之前,對獲取到的數(shù)據(jù)點進行分段,并從每個段中提取特征點,這樣,提取每段對應曲線的特征點,通過動態(tài)分段提取特征點,能在定量的情況下保證最關(guān)鍵的特征點被提取出來,同時在點稀疏的情況下,能盡可能的利用定量的點配額,盡可能的反映曲線數(shù)據(jù)的整體趨勢,通過該實施例,達到了準確繪制曲線的目的,并可以真實反映曲線數(shù)據(jù)的整體趨勢,解決了提取算法提取特征點的準確率低的技術(shù)問題。
上述實施例中,從每段中提取出的特征點用于表征該段對應曲線的特征,可選地,每段中可以包括或不包括數(shù)據(jù)點,在段中包括數(shù)據(jù)點的情況下,該段中可以包括一個或多個數(shù)據(jù)點。
在上述實施例中,獲取構(gòu)成曲線的數(shù)據(jù)點,從數(shù)據(jù)庫中讀取構(gòu)成該曲線的數(shù)據(jù)點,例如,可以預先采集數(shù)據(jù)點,將數(shù)據(jù)點保存入數(shù)據(jù)庫中,在需要構(gòu)建曲線時,從數(shù)據(jù)庫中讀取用于構(gòu)成該曲線的數(shù)據(jù)點。
根據(jù)上述實施例,將數(shù)據(jù)點分為多個段,具體地,可以根據(jù)需要提取的特征點的數(shù)量和在每個段中提取特征點的數(shù)量確定分段的數(shù)量,這里的需要提取的特征點的數(shù)量可以為需要提取的特征點的數(shù)量的最小值,例如,需要提取的特征點的數(shù)量為20,如果在每個段中提取兩個特征點,則需要將獲取到的數(shù)據(jù)點分為10段。
需要說明的是,這里對數(shù)據(jù)點進行分段時,每個段的范圍可以基于曲線的橫軸范圍來確定。這里對數(shù)據(jù)點進行分段時,每個段的范圍也可以基于曲線的豎軸范圍來確定。
在該實施例中,從段中提取特征點的過程中,依次從多個段中的每個段提取特征點,從而可以在提取特征點的過程中,動態(tài)分段,而不是在一開始就固定好全部數(shù)據(jù)點的范圍,從而可以使得提取的特征點更能表示該點所在段對應曲線的數(shù)據(jù)趨勢(如,特征)。
本發(fā)明實施例中對曲線繪制裝置做出了描述,其中第一獲取模塊根據(jù)預先設(shè)置的特征點的總量獲取曲線的數(shù)據(jù)點,之后切分模塊對于獲取的數(shù)據(jù)點分段,然后第一提取模塊設(shè)置數(shù)據(jù)點分段提取最大值、最小值,并找出特征點,最后繪制模塊根據(jù)第一提取模塊提取出的特征點在軟件上繪制出曲線整體趨勢。對于本發(fā)明實施例通過動態(tài)分段,最大限度利用點配額,盡可能地反映曲線數(shù)據(jù)的整體趨勢,提高了提取效果。
進一步地,所述第一提取模塊包括:第二提取模塊,用于從每個段中提取該段數(shù)據(jù)點中的最大值和最小值;配置模塊,用于將最大值和最小值作為該段的特征點。在該實施例中,將該段中數(shù)值最大和最小的值作為該段的特征點,可以將該段的特征準確地表示出來,從而在繪制曲線時可以使得曲線的數(shù)據(jù)趨勢更加準確。
進一步地,所述第二提取模塊包括:第二獲取模塊,用于獲取該段數(shù)據(jù)點中的起始的至少兩個數(shù)據(jù)點;賦值模塊,用于將至少兩個數(shù)據(jù)點中數(shù)值最大的數(shù)據(jù)點的值賦值給最大值,數(shù)值最小的數(shù)據(jù)點的值賦值給最小值;比較模塊,用于依次將至少兩個數(shù)據(jù)點之后的數(shù)據(jù)點與賦值之后的最大值或最小值進行比較,并且在大于最大值或者小于最小值的情況,對最大值和最小值進行重新賦值,直到遍歷完該段中的所有數(shù)據(jù)點,以得到該段數(shù)據(jù)點的最大值和最小值。
本發(fā)明實施例根據(jù)提取特征點的數(shù)量設(shè)置分段,當首次處理分段后的數(shù)據(jù)點時,把當前數(shù)據(jù)點分別賦給該分段(即上述實施例的段)的最大值和最小值,而后續(xù)數(shù)據(jù)點與該分段的最大值、最小值比較,當當前數(shù)據(jù)點大于最大值時,用當前數(shù)據(jù)點更新最大值,當當前數(shù)據(jù)點小于最小值時,用當前數(shù)據(jù)點更新最小值,保證了最關(guān)鍵的特征點被提取;進一步地,對于每個段的數(shù)據(jù)點中的最大值和最小值分開賦值,當出現(xiàn)需要更新的數(shù)值時,依據(jù)上述方式更新數(shù)據(jù)點的最大值或最小值,這樣,數(shù)據(jù)點的最大值和最小值不斷變化,提取出的特征點所表示的整體趨勢會更接近實際曲線趨勢。
進一步地,還包括:判斷模塊,用于判斷正在提取特征點的當前段中提取的特征點的數(shù)量是否小于閾值;第三獲取模塊,用于在小于閾值的情況下,獲取最近提取到的一個特征點;第三提取模塊,用于對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段之后再進行特征點的提取。
進一步地,還包括:第一重新分段裝置,用于在從每個段中提取最大值和最小值兩個數(shù)據(jù)點作為特征點,在從當前段中僅提取到一個特征點或者沒有提取到特征的情況下,對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段。
進一步地,還包括:第二重新分段裝置,用于根據(jù)剩余的需要提取的特征點的數(shù)量對最近提取到的一個特征點之后的曲線的數(shù)據(jù)點重新進行分段,其中,剩余的需要提取的特征點的數(shù)量是根據(jù)特征點的總量以及已經(jīng)提取出的特征點的數(shù)量得到的。
通過上述實施例,根據(jù)剩余的點配額動態(tài)重置分段,在保證特征點不會超過定量的情況下,利用點配額提取盡可能多的特征點,從而盡可能的反映曲線數(shù)據(jù)的整體趨勢,提高提取效果。
進一步地,特征點的總量為預先配置的,和/或,根據(jù)繪制曲線的設(shè)備的能力計算得到的。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務器或者網(wǎng)絡設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。