圖像處理方法和圖像處理模塊的制作方法
【專利摘要】本發(fā)明實施例公開了一種圖像處理方法和圖像處理模塊,用于較簡單地繪制圓環(huán)。本發(fā)明實施例方法包括:獲取目標圓環(huán)的內(nèi)圓半徑R1和外圓半徑R2;按照目標圓環(huán)繪制n個等腰梯形,該n個等腰梯形的交匯角為αn,該αn為第n個等腰梯形的兩腰延長交于一點處形成的銳角,每個等腰梯形的腰長為R2-R1,R1-R1×cos(αn/2)≤2且R2-R2×cos(αn/2)≤2,且第n個等腰梯形的上底的延長線和第n-1個梯形的上底的延長線相交;獲取第1個等腰梯形遠離第2個等腰梯形的腰到第n個等腰梯形遠離第n-1個等腰梯形的腰之間的夾角β;判斷夾角β是否小于360度,若小于,則根據(jù)獲夾角β繪制第n+1個等腰梯形,若大于或等于,則停止繪制等腰梯形,并顯示所有等腰梯形。本發(fā)明實施例能夠較簡單地繪制圓環(huán)。
【專利說明】圖像處理方法和圖像處理模塊
【技術領域】
[0001]本發(fā)明涉及圖像顯示【技術領域】,特別涉及一種圖像處理方法和圖像處理模塊。
【背景技術】
[0002]圓環(huán)作為一種常見的圖形,在計算機顯示軟件中使用非常廣泛。例如在地理信息系統(tǒng)(Geographic Information System, GIS)中,當某地點發(fā)生地震或其他事件時,就可以使用圓環(huán)來描述,其中內(nèi)環(huán)表示事故源,外環(huán)是影響區(qū)域。但是在一些軟件系統(tǒng)中,例如基于OpenGL非固定管線技術的系統(tǒng),一般都沒有提供直接顯示圓環(huán)的接口,因此在實際應用中往往需要開發(fā)人員自己設計繪制圓環(huán)的算法。
[0003]目前,一般的顯示方法是使用帶透明度的圓環(huán)位圖替代矢量圓環(huán),這種方法比較簡單,但是使用位圖方法的缺點是需要預先準備圖片。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供了一種圖像處理方法和圖像處理模塊,用于較簡單地繪制圓環(huán)。
[0005]本發(fā)明實施例第一方面提供一種圖像處理方法,包括:
[0006]獲取Rl和R2,其中該Rl和R2分別為目標圓環(huán)的內(nèi)圓半徑和外圓半徑; [0007]按照所述目標圓環(huán)繪制η個等腰梯形,其中所述η個等腰梯形的交匯角分別為αη,1,所述交匯角CinS所述第η個等腰梯形的兩腰延長后交于一點處形成的銳角,且每個等腰梯形的腰長為R2 - Rl, Rl - RlXcos ( αη/2)≤2且R2 — R2Xcos ( αη/2)
<2,且第η個等腰梯形的上底的延長線和第η-1個梯形的上底的延長線相交;
[0008]獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β ;
[0009]判斷所述夾角β是否小于360度,若小于360度,則根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形,若大于或等于360度,則停止繪制等腰梯形,并顯示所有所述等腰梯形。
[0010]結(jié)合本發(fā)明實施例的第一方面,本發(fā)明實施例的第一方面的第一種實現(xiàn)方式中,所述第η -1個等腰梯形的一條腰與所述第η個等腰梯形的一條腰重合。
[0011]結(jié)合本發(fā)明實施例的第一方面,本發(fā)明實施例的第一方面的第二種實現(xiàn)方式中,α η=α 0,η ≤ I。
[0012]結(jié)合本發(fā)明實施例的第一方面,本發(fā)明實施例的第一方面的第三種實現(xiàn)方式中,Rl — RlXcos ( αη/2)≤ I 且 R2 — R2Xcos ( αη/2) ( I。
[0013]結(jié)合本發(fā)明實施例的第一方面,本發(fā)明實施例的第一方面的第四種實現(xiàn)方式中,所述根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形包括:
[0014]獲取αη+1,所述 αη+1=360 — β ;
[0015]判斷所述獲取到的交匯角αη+1是否滿足Rl — RlXcos ( αη+1/2)≤2且R2 —R2Xcos ( αη/2)≤ 2 ;
[0016]若滿足,則繪制第n+1個等腰梯形,其中所述第n+1個等腰梯形分別與所述第η個等腰梯形和所述第I個等腰梯形共腰,并停止繪制等腰梯形,顯示所有所述等腰梯形;
[0017]若不滿足,則繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形的腰長為R2 —R1,上底的延長線和第η個梯形的上底的延長線相交,且所述第η+1個等腰梯形的交匯角滿足 Rl —RlXcos ( αη+1/2)≤2 且R2 — R2Xcos (αη+1/2)≤ 2。
[0018]本發(fā)明實施例第二方面提供一種圖像處理模塊,包括:
[0019]第一獲取單元,用于獲取Rl和R2,其中該Rl和R2分別為目標圓環(huán)的內(nèi)圓半徑和外圓半徑;
[0020]繪制單元,用于按照所述目標圓環(huán)繪制η個等腰梯形,其中所述η個等腰梯形的交匯角分別為αη,η≥1,所述交匯角CinS所述第η個等腰梯形的兩腰延長后交于一點處形成的銳角,且每個等腰梯形的腰長為R2 - R1,R1 - RlXcos ( αη/2)≤ 2且R2 — R2Xcos(α n/2) ≤ 2,且第η個等腰梯形的上底的延長線和第η_1個梯形的上底的延長線相交;
[0021]第二獲取單元,用于獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β ;
[0022]判斷單元,用于判斷所述夾角β是否小于360度,若小于360度,則所述繪制單元根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形,若大于或等于360度,則所述繪制單元停止繪制等腰梯形;
[0023]顯示單元,用于顯示所述所有等腰梯形。
[0024]結(jié)合本發(fā)明實施例的第二方面,本發(fā)明實施例的第二方面的第一種實現(xiàn)方式中,所述第η -1個等腰梯形的一條腰與所述第η個等腰梯形的一條腰重合。
[0025]結(jié)合本發(fā)明實施例的第二方面,本發(fā)明實施例的第二方面的第二種實現(xiàn)方式中,α η=α 0,η ≥ 1。
[0026]結(jié)合本發(fā)明實施例的第二方面,本發(fā)明實施例的第二方面的第三種實現(xiàn)方式中,Rl — RlXcos ( αη/2)≥ 1 且 R2 — R2Xcos ( αη/2) ≥ 1。
[0027]結(jié)合本發(fā)明實施例的第二方面,本發(fā)明實施例的第二方面的第四種實現(xiàn)方式中,所述第二獲取單元還用于獲取αη+1,所述αη+1=360 — β ;
[0028]所述判斷單元還用于判斷所述獲取到的交匯角αη+1是否滿足Rl -RlXcos(αη+1/2)≤2 且R2 — R2Xcos (αη/2)≤2;
[0029]若滿足,則所述繪制單元還用于繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形分別與所述第η個等腰梯形和所述第I個等腰梯形共腰,并停止繪制等腰梯形,顯示所有所述等腰梯形;
[0030]若不滿足,則所述繪制單元還用于繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形的腰長為R2 - R1,上底的延長線和第η個梯形的上底的延長線相交,且所述第η+1個等腰梯形的交匯角滿足Rl — RlXcos ( αη+1/2)≤2且R2 — R2Xcos (αη+1/2)≤2。
[0031]從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
[0032]本發(fā)明實施例中,通過采用多個等腰梯形組合來近似圓環(huán),這種方法無需預先準備圖片;而且,相比采用其他多邊形來組合近似圓環(huán),采用等腰梯形能夠使得算法較簡單,將圓環(huán)分割成多個等腰梯形的效率較高?!緦@綀D】
【附圖說明】
[0033]圖1為本發(fā)明的一個實施例中圖像處理方法的流程圖;
[0034]圖2為本發(fā)明的另一個實施例中圖像處理方法的流程圖;
[0035]圖3為一個等腰梯形的示意圖;
[0036]圖4為一個圓環(huán)的示意圖;
[0037]圖5為本發(fā)明的一個實施例中圖像處理模塊的示意圖。
【具體實施方式】[0038]本發(fā)明實施例提供了一種圖像處理方法和圖像處理模塊,能夠較簡單地繪制圓環(huán)。
[0039]為了使本【技術領域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
[0040]請參閱圖1,本發(fā)明中圖像處理方法的一個實施例包括:
[0041]101、獲取Rl和R2,其中該Rl和R2分別為目標圓環(huán)的內(nèi)圓半徑和外圓半徑;
[0042]本實施例的目的為在顯示軟件中顯示圓環(huán),因此,需獲取所要顯示的目標圓環(huán)的內(nèi)圓半徑Rl和外圓半徑R2。實際運用中,獲取該目標圓環(huán)的內(nèi)圓半徑和外圓半徑有多種方法。具體舉例來說,可以通過獲取用戶的輸入來分別獲取該目標圓環(huán)的內(nèi)圓半徑和外圓半徑;或者,可通過獲取顯示軟件中其他模塊或者其他軟件中所要顯示的目標圓環(huán)的參數(shù)來獲取該目標圓環(huán)的內(nèi)圓半徑和外圓半徑。在部分應用情況中,還需要獲取該圓環(huán)的圓心所在位置,或者,該目標圓環(huán)的圓心所在位置也可以預先默認設置好。
[0043]102、按照所述目標圓環(huán)繪制η個等腰梯形,其中所述η個等腰梯形的交匯角分別為αη,1,所述交匯角CinS所述第η個等腰梯形的兩腰延長后交于一點處形成的銳角,且每個等腰梯形的腰長為R2 — R1,R1 — RlXcos ( α n/2)≤2,R2 — R2Xcos ( αn/2)
<2,且第n個等腰梯形的上底的延長線和第η-1個梯形的上底的延長線相交;
[0044]為描述清楚,以下對與等腰梯形相關的名詞進行解釋。請參閱圖3,圖3為一個等腰梯形的示意圖。如圖3所示,等腰梯形BCDE中兩腰EB和DC的延長線相交于一點Α,稱該點A為等腰梯形BCDE的交匯點,而線段EA與線段DA相交所形成的銳角Z EAD為等腰梯形B⑶E的交匯角。
[0045]請參閱圖4,圖4為一個圓環(huán)的示意圖。如圖4所示,在一個圓環(huán)的內(nèi)圓和外圓上分別取出的兩點BC和ED所形成的多邊形為等腰梯形BCDE,且該等腰梯形的交匯點為該圓環(huán)的中心Α,腰長為該圓環(huán)的外圓半徑AE與內(nèi)圓半徑BE之差。因此,本實施例中,通過繪制η個腰長均為目標圓環(huán)的外圓半徑R2和內(nèi)圓半徑Rl之差(即R2 — Rl)的等腰梯形,并將該η個等腰梯形進行拼湊組合以近似目標圓環(huán)。該η個等腰梯形在進行拼湊時,各等腰梯形的交匯點均與目標圓環(huán)的中心重合,且相鄰兩個等腰梯形的上底相交。
[0046]當然,實際運用中,在對圓環(huán)顯示效果要求不是很高的場合中,各等腰梯形的交匯點也可以不是均與目標圓環(huán)的中心重合,而是至少部分等腰梯形的交匯點與目標圓環(huán)的交匯點有一定距離。具體舉例來說,在該η個等腰梯形中,第2個至第η個這η-1個等腰梯形的交匯點分別與第I個等腰梯形的交匯點的距離均小于預置距離,該第I個等腰梯形的交匯點可以與目標圓環(huán)的中心重合,或者與該目標圓環(huán)的中心的距離小于預置距離。其中該預置距離可以由軟件默認設置,或者由用戶輸入設置。
[0047]或者,在對圓環(huán)顯示效果要求不是很高的場合中,在繪制等腰梯形以拼湊成目標圓環(huán)時,相鄰兩個等腰梯形的上底也可以不相交,而是該兩個等腰梯形的上底的延長線相交即可。
[0048]為使得各等腰梯形所拼湊的圖形更加近似目標圓環(huán),每個等腰梯形的上底BC與該上底BC所對應的目標圓環(huán)的內(nèi)圓的弧段BC足夠貼近,且下底ED與該下底ED所對應的目標圓環(huán)的外圓的弧段ED足夠貼近。本實施例中,交匯點與圓環(huán)中心重合的等腰梯形的上底,與該上底所對應的目標圓環(huán)的內(nèi)圓的弧段最遠的距離為Rl - RlXcos( αη/2),該等腰梯形的下底與該下底所對應的目標圓環(huán)的外圓的弧段最遠的距離為R2 - R2XcosC α η/2)。為使得各等腰梯形所拼湊的圖形更加近似目標圓環(huán),R1-RIXcos (αη/2)小于或等于2個像素,R2 — R2XC0S (αη/2)小于或等于2個像素,其中各個^?可以相同也可以互不相同,Rl — RlXcos ( αη/2)和Rl — RlXcos ( α η/2)的具體數(shù)值可由軟件默認設置,或者也可以由用戶輸入設置,在此不作限定。
[0049]103、獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β ;
[0050]繪制η個等腰 梯形后,為確認該η個等腰梯形是否已經(jīng)形成一個完整的環(huán)形,需獲取所述η個兩兩相交的等腰梯形中最外側(cè)的兩條腰所形成的夾角,并確認該夾角是否已經(jīng)達到360度。請參閱圖4,所述η個等腰梯形中最外側(cè)的兩條腰分別為第I個等腰梯形的遠離第2個等腰梯形的腰ΑΕ,以及第η個等腰梯形的遠離第η-1個等腰梯形的腰AF。需注意的是,該夾角β并不是AE和AF的延長線相交處所形成的銳角,而是從AE所在位置往第2個等腰梯形的方向轉(zhuǎn)動到AF所在位置所需要轉(zhuǎn)動的角度。
[0051]104、判斷所述夾角β是否小于360度。
[0052]105、若小于360度,則根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形;
[0053]若夾角β小于360度,即已經(jīng)繪制的η個等腰梯形還未拼接組合成一個完整的環(huán)形,因此還需繼續(xù)根據(jù)獲取到的夾角β繪制等腰梯形,以形成一個完整的環(huán)形。
[0054]106、若大于或等于360度,則停止繪制等腰梯形,并顯示所有所述等腰梯形;
[0055]若夾角β大于或等于360度,即已經(jīng)繪制的η個等腰梯形已經(jīng)拼接組合成一個完整的環(huán)形,則停止繪制等腰梯形,并顯示所有所述等腰梯形。
[0056]本發(fā)明實施例中,通過采用多個等腰梯形組合來近似圓環(huán),這種方法無需預先準備圖片;而且,相比采用其他多邊形來組合近似圓環(huán),采用等腰梯形能夠使得算法較簡單,將圓環(huán)分割成多個等腰梯形的效率較高。
[0057]優(yōu)選地,本實施例中,Rl— RlXcos ( α η/2)≤ 1,R2 — R2Xcos(an/2)≤1這
樣,該等腰梯形的的上下底分別與該上下底對應的弧段的距離控制在I個像素內(nèi),使得在視覺效果上個等腰梯形所組合成的形狀更加近似目標圓環(huán)。在本文的其他各實施例中,均以Rl—RlXcos ( αη/2)≤2,R2 — R2Xcos ( α n/2)≤2來舉例描述。同樣的,實際運用中,Rl — RlXcos ( αη/2)優(yōu)選小于或等于I和/或R2 — R2Xcos (αη/2)優(yōu)選小于或等于I。當然,上述僅為舉例描述,并不作限制。
[0058]本實施例中,在繪制該η個等腰梯形時,相鄰兩個等腰梯形的上底的延長線相交。優(yōu)選地,相鄰兩個等腰梯形的上底相交的交點為該兩個上底的端點。這樣能夠簡化運算過程。進一步地,相鄰兩個等腰梯形的下底也相交,且該交點為該兩個下底的端點,也即該η個等腰梯形的交匯點均與目標圓環(huán)的中心重合,且第η — I個等腰梯形的一條腰與第η個等腰梯形的一條腰重合。這樣,無需在每繪制一個等腰梯形時還需計算該等腰梯形的交匯點,能夠進一步簡化運算過程。
[0059]本實施例中,在繪制該η個等腰梯形時,每個等腰梯形的交匯角αη均滿足Rl —RlXcos ( αη/2)≤2,R2 — R2Xcos ( α n/2)≤2,即每個交匯角%需保持足夠小。優(yōu)選地,在繪制該η個等腰梯形時,Cin均等于α(ι。這樣,可以避免在繪制不同等腰梯形時還需計算該等腰梯形的交匯角,簡化了運算過程。
[0060]上面實施例中,需根據(jù)獲取到的夾角β來繪制第η+1個等腰梯形。實際運用中,可通過多種方法來根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形,下面對本發(fā)明實施例中圖像處理方法進行描述。請參閱圖2,本發(fā)明中圖像處理方法的又一個實施例包括:
[0061]201、獲取Rl和R2,其中該Rl和R2分別為目標圓環(huán)的內(nèi)圓半徑和外圓半徑;
[0062]本實施例的目的為在顯示軟件中顯示圓環(huán),因此,需獲取所要顯示的目標圓環(huán)的內(nèi)圓半徑Rl和外圓半徑R2。實際運用中,獲取該目標圓環(huán)的內(nèi)圓半徑和外圓半徑有多種方法。具體舉例來說,可以通過獲取用戶的輸入來分別獲取該目標圓環(huán)的內(nèi)圓半徑和外圓半徑;或者,可通過獲取顯示軟件中其他模塊或者其他軟件中所要顯示的目標圓環(huán)的參數(shù)來獲取該目標圓環(huán)的內(nèi)圓半徑和外圓半徑。在部分應用情況中,還需要獲取該圓環(huán)的圓心所在位置,或者,該目標圓環(huán)的圓心所在位置也可以預先默認設置好。
[0063]202、按照所述目標圓環(huán)繪制η個等腰梯形,其中所述η個等腰梯形的交匯角分別為αη,1,所述交匯角CinS所述第η個等腰梯形的兩腰延長后交于一點處形成的銳角,且每個等腰梯形的腰長為R2 — R1,R1 — RlXcos ( α n/2)≤2,R2 — R2Xcos ( αη/2)
<2,且第η個等腰梯形的上底的延長線和第η-1個梯形的上底的延長線相交;
[0064]為描述清楚,以下對與等腰梯形相關的名詞進行解釋。請參閱圖3,圖3為一個等腰梯形的示意圖。如圖3所示,等腰梯形BCDE中兩腰EB和DC的延長線相交于一點Α,稱該點A為等腰梯形BCDE的交匯點,而線段EA與線段DA相交所形成的銳角Z EAD為等腰梯形B⑶E的交匯角。
[0065]請參閱圖4,圖4為一個圓環(huán)的示意圖。如圖4所示,在一個圓環(huán)的內(nèi)圓和外圓上分別取出的兩點BC和ED所形成的多邊形為等腰梯形BCDE,且該等腰梯形的交匯點為該圓環(huán)的中心Α,腰長為該圓環(huán)的外圓半徑AE與內(nèi)圓半徑BE之差。因此,本實施例中,通過繪制η個腰長均為目標圓環(huán)的外圓半徑R2和內(nèi)圓半徑Rl之差(即R2 — Rl)的等腰梯形,并將該η個等腰梯形進行拼湊組合以近似目標圓環(huán)。該η個等腰梯形在進行拼湊時,各等腰梯形的交匯點均與目標圓環(huán)的中心重合,且相鄰兩個等腰梯形的上底相交。
[0066]當然,實際運用中,在對圓環(huán)顯示效果要求不是很高的場合中,各等腰梯形的交匯點也可以不是均與目標圓環(huán)的中心重合,而是至少部分等腰梯形的交匯點與目標圓環(huán)的交匯點有一定距離。具體舉例來說,在該η個等腰梯形中,第2個至第η個這η-1個等腰梯形的交匯點分別與第I個等腰梯形的交匯點的距離均小于預置距離,該第I個等腰梯形的交匯點可以與目標圓環(huán)的中心重合,或者與該目標圓環(huán)的中心的距離小于預置距離。其中該預置距離可以由軟件默認設置,或者由用戶輸入設置。
[0067]或者,在對圓環(huán)顯示效果要求不是很高的場合中,在繪制等腰梯形以拼湊成目標圓環(huán)時,相鄰兩個等腰梯形的上底也可以不相交,而是該兩個等腰梯形的上底的延長線相交即可。
[0068]為使得各等腰梯形所拼湊的圖形更加近似目標圓環(huán),每個等腰梯形的上底BC與該上底BC所對應的目標圓環(huán)的內(nèi)圓的弧段BC足夠貼近,且下底ED與該下底ED所對應的目標圓環(huán)的外圓的弧段ED足夠貼近。本實施例中,交匯點與圓環(huán)中心重合的等腰梯形的上底,與該上底所對應的目標圓環(huán)的內(nèi)圓的弧段最遠的距離為Rl - RlXcos( αη/2),該等腰梯形的下底與該下底所對應的目標圓環(huán)的外圓的弧段最遠的距離為R2 - R2XcosC α η/2)。為使得各等腰梯形所拼湊的圖形更加近似目標圓環(huán),R1-RIXcos (αη/2)小于或等于2個像素,R2 — R2XC0S (αη/2)小于或等于2個像素,其中各個^?可以相同也可以互不相同,Rl — RlXcos ( αη/2)和Rl — RlXcos ( α η/2)的具體數(shù)值可由軟件默認設置,或者也可以由用戶輸入設置,在此不作限定。[0069]實際運用中,在繪制該η個等腰梯形時,可以先繪制第I個等腰梯形,然后根據(jù)下面步驟203至步驟206來繪制第2個,以此循環(huán),最終畫出η個等腰梯形?;蛘?,也可以是直接根據(jù)各等腰梯形的交匯角以及任意相鄰兩個等腰梯形的交匯角重合的角度來計算η的數(shù)值,該具體算法為公知技術,在此不再贅述。
[0070]203、獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β ;
[0071 ] 繪制η個等腰梯形后,為確認該η個等腰梯形是否已經(jīng)形成一個完整的環(huán)形,需獲取所述η個兩兩相交的等腰梯形中最外側(cè)的兩條腰所形成的夾角,并確認該夾角是否已經(jīng)達到360度。請參閱圖4,所述η個等腰梯形中最外側(cè)的兩條腰分別為第I個等腰梯形的遠離第2個等腰梯形的腰ΑΕ,以及第η個等腰梯形的遠離第η-1個等腰梯形的腰AF。需注意的是,該夾角β并不是AE和AF的延長線相交處所形成的銳角,而是從AE所在位置往第2個等腰梯形的方向轉(zhuǎn)動到AF所在位置所需要轉(zhuǎn)動的角度。
[0072]204、判斷所述夾角β是否小于360度;
[0073]205、若夾角β大于或等于360度,則停止繪制等腰梯形,并顯示所有所述等腰梯形。
[0074]若夾角β大于或等于360度,即已經(jīng)繪制的η個等腰梯形已經(jīng)拼接組合成一個完整的環(huán)形,則停止繪制等腰梯形,并顯示所有所述等腰梯形。實際運用中,可將各等腰梯形都填充相同顏色,則顯示所有等腰梯形時視覺效果為填充有該顏色的圓環(huán)。
[0075]206、若小于 360 度,則獲取 α n+1,所述 α η+1=360 — β ;
[0076]若夾角β小于360度,即已經(jīng)繪制的η個等腰梯形還未拼接組合成一個完整的環(huán)形,因此還需繼續(xù)繪制等腰梯形,以形成一個完整的環(huán)形。為確認還需繪制等腰梯形的數(shù)量,需獲取ctn+1,所述αη+1=360 — β。
[0077]207、判斷所述獲取到的交匯角α n+1是否滿足Rl - RlXcos ( α n+1/2) ( 2 ;
[0078]當然,實際運用中,也可以不是判斷α n+1是否滿足Rl — RlXcos (αη+1/2)≤2,而是判斷αη+1是否滿足R2 — R2Xcos ( αη+1/2) ( 2,在此不作限制。
[0079]208、若滿足,則繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形分別與所述第η個等腰梯形和所述第I個等腰梯形共腰,并停止繪制等腰梯形,顯示所有所述等腰梯形;
[0080] 獲取到αη+1后,根據(jù)該αη+1的具體數(shù)值來確定還需繪制的等腰梯形的數(shù)量。若αη+1是否滿足Rl - RlXcos (αη+1/2) ( 2,則表明在保證視覺效果的前提下,所述η個等腰梯形所組成的未完整的環(huán)形只需一個等腰梯形就能形成一個完整的圓環(huán)。這時,只需將第I個等腰梯形的上底和第η個等腰梯形的上底相鄰的兩個端點相連,且將第I個等腰梯形的下底和第η個等腰梯形的下底相鄰的兩個端點相連,即可形成最后一個等腰梯形。然后停止繪制等腰梯形,顯示所有所述等腰梯形。
[0081]209、若不滿足,則繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形的腰長為R2 - R1,上底的延長線和第η個梯形的上底的延長線相交,且所述第η+1個等腰梯形的交匯角滿足 Rl — RlXcos ( αη+1/2)≤ 2 且R2 — R2Xcos (αη+1/2)≤ 2。
[0082]若α n+1不滿足Rl -RlXcos ( α η+1/2)≤2,則表明在保證視覺效果的前提下,還需繪制至少兩個等腰梯形。本實施例中,先繪制第η+1個等腰梯形,其中該第η+1個等腰梯形所滿足的條件與前η個等腰梯形均一致,即腰長為R2 - Rl,上底的延長線和第η個梯形的上底的延長線相交,且所述第η+1個等腰梯形的交匯角滿足Rl — Rl X cos( α η+1/2)≤ 2,R2 — R2XcosC α η+1/2)^ 2。實際運用中,優(yōu)選地,該第η+1個等腰梯形的交匯點和第I個等腰梯形的交匯點重合?;蛘撸部梢圆恢睾?,而是和第I個等腰梯形的交匯點的距離小于預置距離。
[0083]繪制完第η+1個等腰梯形后,再重復步驟203到步驟207,直至繪制的所有等腰梯形組合成一個完整的環(huán)形。或者,實際運用中,也可以不是重復步驟203至207,而是一次計算出還需繪制的等腰梯形的數(shù)量,以使得所有等腰梯形組合成一個完整的環(huán)形。當然,上述僅為舉例描述,并不作限制。
[0084]本實施例中,通過判斷第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β來確定繼續(xù)繪制等腰梯形的數(shù)量,使得運算程度簡單且精準。
[0085]當然,實際運用中,在根據(jù)獲取到的夾角β來繪制第η+1個等腰梯形時,也可以不是通過這種逐次判斷來繪制下一個等腰梯形的方法,而是直接根據(jù)該夾角β以及還需繪制的等腰梯形的交匯角來計算還需繪制的等腰梯形的數(shù)量,一次運算完并繪制所有等腰梯形。上述描述僅為舉例說明,并不作限制。
[0086]為便于理解,下面以一個實際應用場景對本實施例圖像處理方法進行描述。
[0087]GIS顯示軟件接受到用戶發(fā)出的“某地點(x,y)發(fā)生地震,震源I公里內(nèi)地區(qū)影響嚴重,I公里到10公里地區(qū)稍弱”的指令。GIS顯示軟件解析指令,獲取到指令數(shù)據(jù)信息,該信息包括圓環(huán)的中心點為(X,1),內(nèi)環(huán)半徑Rl為I公里,外環(huán)半徑R2為2公里;并根據(jù)該信息繪制圓環(huán)。
[0088]GIS顯示軟件以點(X,y)為前η個等腰梯形的交匯點,以R2 — Rl=I公里為該η個等腰梯形的腰長,并根據(jù)R2 — R2X cos (αη/2)=1來計算前η個等腰梯形的交匯角Ci1JA具體數(shù)值來繪制前η個等腰梯形,其中η= [360/ a J。且該η個等腰梯形中,相鄰兩個等腰梯形共一條腰。[0089]GIS顯示軟件獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β,由于該夾角β小于360度。
[0090]若小于360度,則GIS顯示軟件執(zhí)行以下動作:
[0091]計算360 — β的值,判斷該360 — β是否滿足Rl — RlXcos ( αη+1/2≤2且R2 -R2Xcos (α n/2) ≤2,若滿足,則直接以第I個等腰梯形和所述第η個等腰梯形相鄰的兩條腰為腰繪制最后一個等腰梯形,顯示所有所述等腰梯形;若不滿足,則繪制第η+1個等腰梯形,該第η+1個等腰梯形的腰長為R2 - R1,交匯點與所述第I個等腰梯形的交匯點的距離小于預置距離,且上底和第η個梯形的上底相交,且所述第η+1個等腰梯形的交匯角滿足 Rl —RlXcos ( αη+1/2)≤ 2 且R2 — R2Xcos (αη+1/2)≤ 2。
[0092]繪制完第η+1個等腰梯形后,GIS顯示軟件重新獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η+1腰梯形的遠離第η個等腰梯形的腰之間的夾角β’,并計360 — β’的值,然后重復上述判斷步驟,直至GIS顯示軟件繪制完一個完整的環(huán)形,并顯示該環(huán)形。
[0093]若大于或等于360度,則GIS顯示軟件停止繪制等腰梯形并顯示所述所有等腰梯形。
[0094]上面對本發(fā)明實施例中的圖像處理方法進行了描述,下面對本發(fā)明實施例中的圖像處理模塊進行描述,請參閱圖5,本發(fā)明的一個實施例中圖像處理模塊500包括:
[0095]第一獲取單元501,用于獲取Rl和R2,其中該Rl和R2分別為目標圓環(huán)的內(nèi)圓半徑和外圓半徑;
[0096]繪制單元502,用于按照所述目標圓環(huán)繪制η個等腰梯形,其中所述η個等腰梯形的交匯角分別為αη,n≥1,所述交匯角CinS所述第η個等腰梯形的兩腰延長后交于一點處形成的銳角,且每個等腰梯形的腰長為R2 - Rl, Rl - RlXcos (αη/2) ≤ 2且R2 —R2Xcos ( α η/2) ≤ 2,且第η個等腰梯形的上底的延長線和第η-1個梯形的上底的延長線相交;
[0097]第二獲取單元503,用于獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β ;
[0098]判斷單元504,用于判斷所述夾角β是否小于360度,若小于360度,則所述繪制單元根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形,若大于或等于360度,則所述繪制單元停止繪制等腰梯形;
[0099]顯示單元505,用于顯示所述所有等腰梯形。
[0100]本發(fā)明實施例中,通過采用多個等腰梯形組合來近似圓環(huán),這種方法無需預先準備圖片,不會出現(xiàn)失真的情況;而且,相比采用其他多邊形來組合近似圓環(huán),采用等腰梯形能夠使得算法較簡單,將圓環(huán)分割成多個等腰梯形的效率較高。
[0101]優(yōu)選地,本實施例中,Rl— RlXcos ( α η/2)≤ 1,R2 — R2Xcos)(an/2)≤1
樣,該等腰梯形的的上下底分別與該上下底對應的弧段的距離控制在I個像素內(nèi),使得在視覺效果上個等腰梯形所組合成的形狀更加近似目標圓環(huán)。
[0102]本實施例中,繪制單元502在繪制該η個等腰梯形時,相鄰兩個等腰梯形的上底的延長線相交。優(yōu)選地,相鄰兩個等腰梯形的上底相交的交點為該兩個上底的端點。這樣能夠簡化運算過程。進一步地,相鄰兩個等腰梯形的下底也相交,且該交點為該兩個下底的端點,也即該η個等腰梯形的交匯點均與目標圓環(huán)的中心重合,且第η — I個等腰梯形的一條腰與第η個等腰梯形的一條腰重合。這樣,無需在每繪制一個等腰梯形時還需計算該等腰梯形的交匯點,能夠進一步簡化運算過程。
[0103]本實施例中,繪制單元502在繪制該η個等腰梯形時,每個等腰梯形的交匯角α ?均滿足Rl - RlXcos ( αη/2)≤2且R2 — R2Xcos ( αη/2) ( 2,即每個交匯角α n需保持足夠小。優(yōu)選地,在繪制該η個等腰梯形時,Cin均等于α0。這樣,可以避免在繪制不同等腰梯形時還需計算該等腰梯形的交匯角,簡化了運算過程。
[0104]上面實施例中,繪制單元需根據(jù)獲取到的夾角β來繪制第η+1個等腰梯形。實際運用中,繪制單元可通過多種方法來根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形,具體來說,進一步地,在本實施例的圖像處理模塊中,
[0105]第二獲取單元503還用于獲取α n+1,所述α η+1=360 一 β ;
[0106]判斷單元604還用于判斷所述獲取到的交匯角αη+1是否滿足Rl — RlXcos(αη+1/2)≤ 2 且R2 — R2Xcos (αη/2)≤2;
[0107]若滿足,則所述繪制單元還用于繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形分別與所述第η個等腰梯形和所述第I個等腰梯形共腰,并停止繪制等腰梯形,顯示所有所述等腰梯形;
[0108]若不滿足,則所述繪制單元還用于繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形的腰長為R2 - R1,上底的延長線和第η個梯形的上底的延長線相交,且所述第η+1個等腰梯形的交匯角滿足Rl — RlXcos ( αη+1/2)≤2且R2 — R2Xcos (αη+1/2)≤2。
[0109]本實施例中,通過判斷第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第n-Ι個等腰梯形的腰之間的夾角β來確定繼續(xù)繪制等腰梯形的數(shù)量,使得運算程度簡單且精準。
[0110]為便于理解,下面以一個實際應用場景對本實施例圖像處理模塊進行描述。
[0111]GIS顯示軟件圖像處理模塊中第一獲取單元接受到用戶發(fā)出的“某地點(X,y)發(fā)生地震,震源I公里內(nèi)地區(qū)影響嚴重,I公里到10公里地區(qū)稍弱”的指令。第一獲取單元解析指令,并獲取到指令數(shù)據(jù)信息,該信息包括圓環(huán)的中心點為(X,y),內(nèi)環(huán)半徑Ri為I公里,外環(huán)半徑R2為2公里;并根據(jù)該信息繪制圓環(huán)。
[0112]GIS顯示軟件的繪制單元以點(x,y)為前η個等腰梯形的交匯點,以R2 — Rl=I公里為該η個等腰梯形的腰長,并根據(jù)R2 -R2Xcos (α η/2)=1來計算前η個等腰梯形的交匯角αη的具體數(shù)值來繪制前η個等腰梯形,其中η=[360/αη]。且該η個等腰梯形中,相鄰兩個等腰梯形共一條腰。
[0113]第二獲取單元獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第n-Ι個等腰梯形的腰之間的夾角β。判斷單元用于判斷該夾角β是否小于360度。
[0114]若小于360度,則各模塊執(zhí)行以下動作:
[0115]第二獲取單元計算360 — β的值。判斷單元還用于判斷該360 — β是否滿足Rl - RlXcos ( αη+1/2)≤2且R2 — R2Xcos ( α η/2)≤2,若滿足,則繪制單元還用于直接以第I個等腰梯形和所述第η個等腰梯形相鄰的兩條腰為腰繪制最后一個等腰梯形,且顯示單元顯示所有所述等腰梯形。若不滿足,則繪制單元還用于繪制第η+1個等腰梯形,該第η+1個等腰梯形的腰長為R2 - R1,交匯點與所述第I個等腰梯形的交匯點的距離小于預置距離,且上底和第η個梯形的上底相交,且所述第η+1個等腰梯形的交匯角滿足Rl —RlXcos ( α η+1/2) < 2 且 R2 — R2Xcos (an+1/2)<2。
[0116]繪制單元繪制完第n+1個等腰梯形后,第二獲取單元重新獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第n+1腰梯形的遠離第η個等腰梯形的腰之間的夾角β’,并計360 — β’的值,然后各模塊重復上述判斷步驟,直至繪制單元繪制完一個完整的環(huán)形,以使顯示單元顯示所述所有等腰梯形。
[0117]若大于或等于360度,則所述繪制單元停止繪制等腰梯形。顯示單元用于顯示所述所有等腰梯形。
[0118]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0119]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0120]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0121]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0122]所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0123]以上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。
【權利要求】
1.一種圖像處理方法,其特征在于,包括: 獲取Rl和R2,其中該Rl和R2分別為目標圓環(huán)的內(nèi)圓半徑和外圓半徑; 按照所述目標圓環(huán)繪制η個等腰梯形,其中所述η個等腰梯形的交匯角分別為αη,η > 1,所述交匯角αη*所述第η個等腰梯形的兩腰延長后交于一點處形成的銳角,且每個等腰梯形的腰長為 R2 - R1,R1 - RlXcos ( αη/2)≤ 2 且 R2 — R2Xcos ( an/2) ( 2,且第η個等腰梯形的上底的延長線和第η-1個梯形的上底的延長線相交; 獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β ; 判斷所述夾角β是否小于360度,若小于360度,則根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形,若大于或等于360度,則停止繪制等腰梯形,并顯示所有所述等腰梯形。
2.根據(jù)權利要求1所述的圖像處理方法,其特征在于,所述第η— I個等腰梯形的一條腰與所述第η個等腰梯形的一條腰重合。
3.根據(jù)權利要求1所述的圖像處理方法,其特征在于,Cin=Cici,η≤I。
4.根據(jù)權利要求1所述的圖像處理方法,其特征在于,Rl- RlXcos (αη/2) ( I且R2 — R2Xcos ( αη/2) ( I。
5.根據(jù)權利要求1所述的圖像處理方法,其特征在于,所述根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形包括: 獲取 αη+1,所述 αη+1=360 — β ; 判斷所述獲取到的交匯角a n+1是否滿足Rl - RIXcosC a n+1/2)^ 2且R2 — R2Xcos(an/2) ( 2 ; 若滿足,則繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形分別與所述第η個等腰梯形和所述第I個等腰梯形共腰,并停止繪制等腰梯形,顯示所有所述等腰梯形; 若不滿足,則繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形的腰長為R2 - Rl,上底的延長線和第η個梯形的上底的延長線相交,且所述第η+1個等腰梯形的交匯角滿足Rl - RlXcos ( αη+1/2)≤ 2 且R2 — R2Xcos (αη+1/2)<2。
6.一種圖像處理模塊,其特征在于,包括: 第一獲取單元,用于獲取Rl和R2,其中該Rl和R2分別為目標圓環(huán)的內(nèi)圓半徑和外圓半徑; 繪制單元,用于按照所述目標圓環(huán)繪制η個等腰梯形,其中所述η個等腰梯形的交匯角分別為αη,η>1,所述交匯角CinS所述第η個等腰梯形的兩腰延長后交于一點處形成的銳角,且每個等腰梯形的腰長為R2 — Rl,Rl — RlXcos ( αη/2) < 2且R2 — R2Xcos(a n/2) < 2,且第η個等腰梯 形的上底的延長線和第η_1個梯形的上底的延長線相交; 第二獲取單元,用于獲取第I個等腰梯形的遠離第2個等腰梯形的腰到第η個等腰梯形的遠離第η-1個等腰梯形的腰之間的夾角β ; 判斷單元,用于判斷所述夾角β是否小于360度,若小于360度,則所述繪制單元根據(jù)所述獲取到的夾角β繪制第η+1個等腰梯形,若大于或等于360度,則所述繪制單元停止繪制等腰梯形; 顯示單元,用于顯示所述所有等腰 梯形。
7.根據(jù)權利要求6所述的圖像 處理模塊,其特征在于,所述第η— I個等腰梯形的一條腰與所述第η個等腰梯形的一條腰重合。
8.根據(jù)權利要求6所述的圖像處理模塊,其特征在于,Cin=Cici,η≥1。
9.根據(jù)權利要求6所述的圖像處理模塊,其特征在于,R1-RIXcos(αη/2)<1且R2 — R2Xcos ( αη/2) ≤ 1。
10.根據(jù)權利要求6所述的圖像處理模塊,其特征在于,所述第二獲取單元還用于獲取αη+1,所述 α η+1=360 — β ; 所述判斷單元還用于判斷所述獲取到的交匯角α n+1是否滿足Rl -RlXcosCa n+1/2)≤ 2 且 R2 —R2Xcos ( an/2) ^ 2 ; 若滿足,則所述繪制單元還用于繪制第n+1個等腰梯形,其中所述第n+1個等腰梯形分別與所述第η個等腰梯形和所述第I個等腰梯形共腰,并停止繪制等腰梯形,顯示所有所述等腰梯形; 若不滿足,則所述繪制單元還用于繪制第η+1個等腰梯形,其中所述第η+1個等腰梯形的腰長為R2 - R1,上底的延長線和第η個梯形的上底的延長線相交,且所述第η+1個等腰梯形的交匯角滿足 Rl — RlXcos ( αη+1/2)≤ 2 且R2 — R2Xcos (αη+1/2)≤ 2。
【文檔編號】G06T11/20GK103886629SQ201410153757
【公開日】2014年6月25日 申請日期:2014年4月16日 優(yōu)先權日:2014年4月16日
【發(fā)明者】陳泓坤 申請人:廣東威創(chuàng)視訊科技股份有限公司