本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種圖像縮小方法及裝置。
背景技術(shù):
圖像(Picture)有多種含義,其中最常見的定義是指各種圖形和影像的總稱。在理科的學習以及日常的學習或統(tǒng)計中,圖像都是必不可少的組成部分,它為人類構(gòu)建了一個形象的思維模式,有助于我們學習、思考問題。
在眾多圖像縮小算法中,雙線性插值算法是硬件實現(xiàn)相對簡單,同時在縮小1~1/2之間也能兼顧到圖像效果的一種算法,因此也被廣泛地使用。但是當縮小到比1/2更小的比例時,圖像顯示效果就會變差,出現(xiàn)內(nèi)容缺失,無法看清楚的問題,在顯示文字的時候問題尤其明顯。如果采用其他更好的縮放算法,如多項式插值算法,雙立方插值算法,可以取得很好的圖像縮小效果,但是硬件資源例如乘法器,數(shù)據(jù)緩存,就會成倍增加。例如,以RGB格式圖像為例,使用雙線性插值算法縮小,一般需使用12個乘法器,6行數(shù)據(jù)緩存;而使用雙立方插值算法縮小,一般則需使用24個乘法器,12行數(shù)據(jù)緩存;如使用多項式插值算法縮小,則需要更多的乘法器和數(shù)據(jù)緩存。
因此如何在較少的硬件資源下,又能實現(xiàn)較好的圖像縮小效果成為圖像處理實際應(yīng)用中的一個難題。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供的一種圖像縮小方法及裝置,解決了目前的圖像縮小都以空間特征為主,由于目前的圖像縮小算法的復雜度高,導致了準確率低的技術(shù)問題。
本發(fā)明實施例提供的一種圖像縮小方法,包括:
根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù);
對所述縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則對所述圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理;
若為整數(shù)倍,則對所述圖像依次進行圖像均值縮小處理、圖像邊緣增強處理;
輸出處理后的圖像。
可選地,輸出處理后的圖像之前還包括:
若所述縮小倍數(shù)處于1倍至1/2倍區(qū)間,則直接對所述圖像進行圖像雙線性縮小處理。
可選地,圖像均值縮小處理具體包括:
對所述圖像進行相鄰行的像素點均值計算。
可選地,圖像邊緣增強處理具體包括:
根據(jù)所述圖像相鄰點的像素點信息,計算出圖像邊緣位置,并把圖像邊緣信息增強補償。
可選地,圖像雙線性縮小處理具體包括:
根據(jù)所述縮小倍數(shù)計算插值系數(shù)和對應(yīng)像素點坐標,再對所述圖像進行插值計算。
本發(fā)明實施例提供的一種圖像縮小裝置,包括:
縮小單元,用于根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù);
判斷單元,用于對所述縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則觸發(fā)第一執(zhí)行單元,若為整數(shù)倍,則觸發(fā)第二執(zhí)行單元;
所述第一執(zhí)行單元,用于觸發(fā)圖像均值縮小模塊、圖像邊緣增強模塊、圖像雙線性縮小模塊對所述圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理;
所述第二執(zhí)行單元,用于觸發(fā)所述圖像均值縮小模塊、所述圖像邊緣增強模塊對所述圖像依次進行圖像均值縮小處理、圖像邊緣增強處理;
輸出單元,用于輸出處理后的圖像。
可選地,還包括:
第三執(zhí)行單元,用于若所述縮小倍數(shù)處于1倍至1/2倍區(qū)間,則觸發(fā)所述圖像雙線性縮小模塊直接對所述圖像進行圖像雙線性縮小處理。
可選地,所述圖像均值縮小模塊,用于對所述圖像進行相鄰行的像素點均值計算。
可選地,所述圖像邊緣增強模塊,用于根據(jù)所述圖像相鄰點的像素點信息,計算出圖像邊緣位置,并把圖像邊緣信息增強補償。。
可選地,所述圖像雙線性縮小模塊,用于根據(jù)所述縮小倍數(shù)計算插值系數(shù)和對應(yīng)像素點坐標,再對所述圖像進行插值計算。
從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
本發(fā)明實施例提供的一種圖像縮小方法及裝置,其中,圖像縮小方法包括:根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù);對縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理;若為整數(shù)倍,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理;輸出處理后的圖像。本實施例中,通過根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù);對縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理;若為整數(shù)倍,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理;輸出處理后的圖像,解決了目前的在較少的硬件資源下,無法實現(xiàn)較好的圖像縮小效果成為圖像處理的技術(shù)問題。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實施例提供的一種圖像縮小方法的一個實施例的流程示意圖;
圖2為本發(fā)明實施例提供的一種圖像縮小裝置的一個實施例的結(jié)構(gòu)示意圖;
圖3至圖5為圖1、圖2的應(yīng)用例示意圖。
具體實施方式
本發(fā)明實施例提供的一種圖像縮小方法及裝置,解決了目前的圖像縮小都以空間特征為主,由于目前的圖像縮小算法的復雜度高,導致了準確率低的技術(shù)問題。
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1,本發(fā)明實施例提供的一種圖像縮小方法的一個實施例包括:
101、根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù);
本實施例中,當需要進行圖像縮小時,首先需要根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù)。
102、對縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則執(zhí)行步驟103,若為整數(shù)倍,則執(zhí)行步驟104,若縮小倍數(shù)處于1倍至1/2倍區(qū)間,則執(zhí)行步驟105;
當根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù)之后,需要對縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則執(zhí)行步驟103,若為整數(shù)倍,則執(zhí)行步驟104,若縮小倍數(shù)處于1倍至1/2倍區(qū)間,則執(zhí)行步驟105。
103、對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理;
當處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理。
104、對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理;
當為整數(shù)倍,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理。
105、直接對圖像進行圖像雙線性縮小處理;
若縮小倍數(shù)處于1倍至1/2倍區(qū)間,則直接對圖像進行圖像雙線性縮小處理。
106、輸出處理后的圖像。
步驟103或104或105之后,輸出處理后的圖像。
需要說明的是,圖像均值縮小處理具體包括:對圖像進行相鄰行的像素點均值計算。
圖像邊緣增強處理具體包括:根據(jù)圖像相鄰點的像素點信息,計算出圖像邊緣位置,并把圖像邊緣信息增強補償。
圖像雙線性縮小處理具體包括:根據(jù)縮小倍數(shù)計算插值系數(shù)和對應(yīng)像素點坐標,再對圖像進行插值計算。
下面以一具體應(yīng)用場景進行描述,如圖3至圖5所示,應(yīng)用例包括:
采用了兩級縮小模塊加圖像邊緣增強模塊,根據(jù)圖像縮小倍數(shù)關(guān)系,選擇不同的圖像縮小模塊,并利用圖像邊緣增強模塊對圖像進行銳化補償,采用這種方法可以在縮小到比1/2更小的比例后,仍然保持較好的圖像清晰度,并且本方法在FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)芯片中進行了實際驗證和應(yīng)用。
(1)控制模塊,負責根據(jù)輸入輸出圖像的大小計算縮小倍數(shù),然后將縮小倍數(shù)送入圖像均值縮小模塊和圖像雙線性縮小模塊并控制其工作,同時控制選擇使用相關(guān)模塊或bypass該模塊。
(2)圖像均值縮小模塊,采用取平均值得方法對圖像進行整數(shù)倍的縮小處理。例如,縮小1/2,則對圖像水平相鄰兩像素點相加,再除2取平均,同時對相鄰兩行的像素點對應(yīng)相加,再除2取平均。如果縮小1/3,則對圖像水平相鄰三像素點相加,再除3取平均,同時對相鄰三行的像素點對應(yīng)相加,再除3取平均。圖像均值縮小模塊能夠在縮小時很好地保留圖像信息,但是只適合于整數(shù)倍縮小,并且圖像取均值后邊緣信息變?nèi)酢?/p>
(3)圖像邊緣增強模塊,根據(jù)圖像相鄰點的信息,計算出圖像邊緣位置,并把圖像邊緣信息增強補償。例如,當相鄰點的數(shù)值相差超過門限值,比如45,則認為是圖像邊緣位置,根據(jù)縮小的倍數(shù),可以實時調(diào)整門限值,如縮小1/2,門限值設(shè)為90;縮小1/2,門限值設(shè)為45;縮小1/3,門限值設(shè)為30,依次類推。當發(fā)現(xiàn)圖像邊緣位置時,將邊緣位置的像素點按縮小的倍數(shù)對應(yīng)放大,例如圖像是縮小1/2的,則將該像素點乘2放大,這樣可以使圖像邊緣信息重新得到增強。
(4)圖像雙線性縮小模塊,采用雙線性插值算法,根據(jù)縮小倍數(shù)計算插值系數(shù)和對應(yīng)像素點坐標,再對圖像進行插值計算,最后輸出縮小后圖像。雙線性插值算法實際就是最常見的線性插值,因為將線性插值分解成水平和垂直兩個方向進行,所以稱為雙線性插值。它通過待插值像素點周圍4個相關(guān)像素點的灰度值,經(jīng)過二維線性加權(quán)平均計算得到插值像素點灰度值。如圖2所示,原始4個像素點為a1,a2,a3,a4,水平和垂直兩個方向點距為單位長度1,其坐標位置分別為a1(x,y),a2(x+1,y),a3(x,y+1),a4(x+1,y+1),待插值像素點坐標為P(x+dx,y+dy),用雙線性插值法計算得到待插值像素點P的灰度值為:
P(x+dx,y+dy)=(1-dx)(1-dy)a1+dx(1-dy)a2+(1-dx)dya3+dxdya4=a1+dx(a2-a1)+dy(a3-a1)+dxdy(a1-a2-a3+a4)
計算公式經(jīng)過改寫后,只需4次乘法和簡單的加減法即可計算出待插值的像素點。
圖像縮小的處理流程,如圖3所示。首先控制模塊根據(jù)輸入輸出圖像大小計算縮小倍數(shù),然后根據(jù)縮小的倍數(shù),控制選通不同的模塊。
1)當縮小倍數(shù)介于1~1/2之間,適合直接使用圖像雙線性縮小模塊,圖像輸入后,bypass圖像均值縮小模塊和圖像邊緣增強模塊,然后進入圖像雙線性縮小模塊進行縮小處理后輸出。
2)當縮小整數(shù)倍,如1/2,1/3,1/4,圖像輸入后,根據(jù)縮小倍率使用圖像均值縮小模塊進行整數(shù)倍縮小,然后進入圖像邊緣增強模塊進行邊緣信息增強,最后bypass圖像雙線性縮小模塊后輸出。
3)當縮小倍數(shù)介于1/2~1/3,1/3~1/4之間,圖像輸入后,根據(jù)縮小倍率使用圖像均值縮小模塊進行區(qū)間內(nèi)較大的整數(shù)倍縮小,然后進入圖像邊緣增強模塊進行邊緣信息增強,之后根據(jù)整數(shù)倍縮小后的大小重新計算新的縮小倍數(shù),最后進入圖像雙線性縮小模塊處理后輸出。
舉例說明,輸入圖像分辨率為1024x768,輸出圖像分辨率要求320x240。首先計算縮小倍數(shù),320/1024=0.3125,介于1/2~1/3之間,所以使用1/2倍進行圖像均值縮小,縮小后圖像大小為512x384,然后進入圖像邊緣增強模塊進行邊緣信息增強。接下來計算新的縮小倍數(shù),320/512=0.625,介于1~1/2之間,進入圖像雙線性縮小模塊進行再次縮小后輸出,得到最終輸出圖像。
本實施例中,通過根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù);對縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理;若為整數(shù)倍,則對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理;輸出處理后的圖像,解決了目前的在較少的硬件資源下,無法實現(xiàn)較好的圖像縮小效果成為圖像處理的技術(shù)問題。
請參閱圖2,本發(fā)明實施例提供的一種圖像縮小裝置的一個實施例包括:
縮小單元201,用于根據(jù)圖像的輸入圖像大小計算待輸出的輸出圖像大小的縮小倍數(shù);
判斷單元202,用于對縮小倍數(shù)進行判斷,若處于1/2倍至1/3倍區(qū)間或1/3倍至1/4倍區(qū)間,則觸發(fā)第一執(zhí)行單元203,若為整數(shù)倍,則觸發(fā)第二執(zhí)行單元204;
第一執(zhí)行單元203,用于觸發(fā)圖像均值縮小模塊a、圖像邊緣增強模塊b、圖像雙線性縮小模塊c對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理、圖像雙線性縮小處理;
第二執(zhí)行單元204,用于觸發(fā)圖像均值縮小模塊a、圖像邊緣增強模塊b對圖像依次進行圖像均值縮小處理、圖像邊緣增強處理;
第三執(zhí)行單元205,用于若縮小倍數(shù)處于1倍至1/2倍區(qū)間,則觸發(fā)圖像雙線性縮小模塊c直接對圖像進行圖像雙線性縮小處理;
輸出單元206,用于輸出處理后的圖像。
需要說明的是,圖像均值縮小模塊a,用于對圖像進行相鄰行的像素點均值計算。
圖像邊緣增強模塊b,用于根據(jù)圖像相鄰點的像素點信息,計算出圖像邊緣位置,并把圖像邊緣信息增強補償。
圖像雙線性縮小模塊c,用于根據(jù)縮小倍數(shù)計算插值系數(shù)和對應(yīng)像素點坐標,再對圖像進行插值計算。
解決了目前的圖像縮小都以空間特征為主,由于目前的圖像縮小算法的復雜度高,導致了準確率低的技術(shù)問題。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?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ù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。