專利名稱:一種圖像的縮小方法
技術領域:
本發(fā)明涉及圖像處理領域,尤其涉及一種圖像的縮小方法。
背景技術:
目前,圖像縮小常用的方法有近鄰取樣法、雙線性插值法及雙三次插值法等。 這些方法的基本原理都是取圖像的某一個像素點,經過各種變化后變換成目標圖像對應 的點;然后,根據(jù)一定的算法,選擇目標圖像的像素點,這些像素點一起組合成目標圖 像?,F(xiàn)有技術中的這些圖像縮小方法存在下述缺點1、由于方法中采用的變換算法比較 復雜,編程實現(xiàn)比較困難;2、這些算法都是選擇要保留的像素點,在圖像縮小過程中可 能會取到一些重疊的像素點,這些重疊的像素點如果選擇不當,容易造成圖像一定程度 的失真;3、這些方法對圖像都是先全部解碼,然后再壓縮,需要占據(jù)較大的緩沖空間, 不適于應用在內存空間有限的場合,如嵌入式平臺中。
發(fā)明內容
本發(fā)明針對現(xiàn)有技術中圖像縮小方法存在的上述缺點和不足,提供了一種新的 圖像的縮小方法,采用排除的方法,以行或列為基本單元對圖像的各個像素進行均勻抽 絲舍棄,對圖像邊解碼邊壓縮,節(jié)省了圖像縮小所占用的內存空間,提高了縮小后圖像 的質量。
為解決上述技術問題,本發(fā)明采用以下技術方案予以實現(xiàn)
—種圖像的縮小方法,其特征在于,包括下述步驟 a、根據(jù)原始圖像的尺寸與縮小后的目標圖像的尺寸確定圖像的行舍棄因子和列 舍棄因子; b、根據(jù)所述行舍棄因子及所述列舍棄因子確定應舍棄的像素點,得到縮小后的 目標圖像。 根據(jù)本發(fā)明,所述原始圖像的尺寸為WXH,所述縮小后的目標圖像的尺寸為 W1XH1,則所述行舍棄因子為H/(H-H1+1),所述列舍棄因子為W/(W-W1+1)。選用上述 定義的舍棄因子,能使得被舍棄的像素點在原始圖像中最大程度均勻分布,保證了均勻 丟棄被舍棄的像素點,從而使得縮小后的圖像失真性更小。 根據(jù)本發(fā)明的一種技術方案,可以以行為基本單元對圖像進行縮小,則所述步 驟b具體包括下述分步驟 bl、根據(jù)所述行舍棄因子判斷原始圖像中應舍棄的行的位置,并舍棄原始圖像 中應舍棄的行的全部像素點; b2、根據(jù)所述列舍棄因子判斷不應舍棄的行中的像素點是否舍棄;將需要舍棄 的像素點舍棄掉,將剩余的像素點放置到緩沖區(qū)中作為目標圖像的像素點。
其中,所述步驟bl中根據(jù)行舍棄因子判斷原始圖像中應舍棄的行的位置的過程 為定義循環(huán)變量i, i = i+H/(H-Hl+l), i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i+0.5)
4向下取整,取整后的值是所述應舍棄的行的位置。 所述步驟b2中根據(jù)列舍棄因子判斷不應舍棄的行中的像素點是否舍棄的過程 為定義循環(huán)變量j, j = j+W/(W-Wl+l), j初始值為0,循環(huán)次數(shù)為(W-W1)次;對 (j+0.5)向下取整,取整后的值是應舍棄的像素點所在的列的位置,應舍棄的像素點是與 所述取整后的值相對應的列及所述不應舍棄的行交叉位置的像素點。
根據(jù)本發(fā)明,也可以采用下述方法確定應舍棄的像素點的位置
所述步驟bl中根據(jù)行舍棄因子判斷原始圖像中應舍棄的行的位置的過程為定 義循環(huán)變量i, i = i+H/(H-Hl+l), i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i-0.5)向下取 整,取整后的值+1即為所述應舍棄的行的位置。 所述步驟b2中根據(jù)列舍棄因子判斷不應舍棄的行中的像素點是否舍棄的過程
為定義循環(huán)變量j, j = j+W/(W-Wl+l), j初始值為0,循環(huán)次數(shù)為(W-W1)次;對
(j-0.5)向下取整,取整后的值+l為應舍棄的像素點所在的列的位置,應舍棄的像素點是
與所述取整后的值+1相對應的列及所述不應舍棄的行交叉位置的像素點。 根據(jù)本發(fā)明的另一種技術方案,除可采用上述以行作為基本單元對圖像進行縮
小之外,也可以以列作為基本單元對圖像進行縮小,則所述步驟b具體包括下述分步
驟 b3、根據(jù)所述列舍棄因子判斷原始圖像中應舍棄的列的位置,并舍棄原始圖像 中應舍棄的列的全部像素點; b4、根據(jù)所述行舍棄因子判斷不應舍棄的列中的像素點是否舍棄;將需要舍棄 的像素點舍棄掉,將剩余的像素點放置到緩沖區(qū)中作為目標圖像的像素點。
其中,所述步驟b3中根據(jù)列舍棄因子判斷原始圖像中應舍棄的列的位置的過 程為定義循環(huán)變量j, j = j+W/(W-Wl+l), j初始值為0,循環(huán)次數(shù)為(W-W1)次;對 (j+0.5)向下取整,取整后的值是所述應舍棄的列的位置。 所述步驟b4中根據(jù)行舍棄因子判斷不應舍棄的列中的像素點是否舍棄的過程
為定義循環(huán)變量i, i = i+H/(H-Hl+l), i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i+0.5)
向下取整,取整后的值是應舍棄的像素點所在的行的位置,應舍棄的像素點是與所述取
整后的值相對應的行及所述不應舍棄的列交叉位置的像素點。 根據(jù)本發(fā)明,也可以采用下述方法確定應舍棄的像素點的位置 所述步驟b3中根據(jù)列舍棄因子判斷原始圖像中應舍棄的列的位置的過程為定
義循環(huán)變量j, j =j+W/(W-Wl+l), j初始值為0,循環(huán)次數(shù)為(W-W1)次;對(j-0.5)向下
取整,取整后的值+1即為所述應舍棄的列的位置。 所述步驟b4中根據(jù)行舍棄因子判斷不應舍棄的列中的像素點是否舍棄的過程 為定義循環(huán)變量i, i = i+H/(H-Hl+l), i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i-0.5)
向下取整,取整后的值+l是應舍棄的像素點所在的行的位置,應舍棄的像素點是與所述 取整后的值+1相對應的行及所述不應舍棄的列交叉位置的像素點。 與現(xiàn)有技術相比,本發(fā)明的優(yōu)點和積極效果是通過原始圖像的尺寸與目標圖 像的尺寸確定舍棄因子,以行或列作為基本單元對圖像的各個像素進行抽絲舍棄,只需 要申請與目標圖像尺寸對應的緩沖空間及原始圖像的一行或一列像素對應的緩沖空間即 可實現(xiàn)圖像的縮小,占用內存空間較小。特別是原始圖像分辨率較高的時候可以節(jié)省很大的內存空間,非常適用于嵌入式平臺等內存有限的圖像顯示領域。而且,通過所述舍棄因子進行均勻分布的抽絲舍棄,不會造成縮小后的圖像的失真,提高了圖像縮小的質
圖1是本發(fā)明所述的圖像縮小方法的基本原理流程 圖2是本發(fā)明圖像縮小方法一個實施例的具體流程圖。
具體實施例方式
下面結合附圖對本發(fā)明作進一步詳細的說明。 圖1示出了本發(fā)明所述的圖像縮小方法的基本原理流程圖。所述圖像縮小方法包括根據(jù)原始圖像尺寸與目標圖像尺寸確定圖像的行舍棄因子和列舍棄因子的步驟S102,以及根據(jù)所述行舍棄因子和所述列舍棄因子確定舍棄的像素點、舍棄相應的像素點以得到縮小的目標圖像的步驟S103。利用所述行舍棄因子和所述列舍棄因子,對原始圖像進行均勻抽絲舍棄,保證縮小的目標圖像不失真。 其中,所述行舍棄因子用來確定在圖像縮小時需抽絲舍棄的原始圖像的行的位置,所述列舍棄因子用來確定在圖像縮小時需抽絲舍棄的原始圖像的列的位置。圖像縮小時,可以以原始圖像的行作為基本單元對像素點進行抽絲舍棄,也可以以原始圖像的列作為基本單元對像素點進行抽絲舍棄。 本發(fā)明所述圖像縮小方法根據(jù)所述行舍棄因子和所述列舍棄因子,邊解碼邊進
行圖像縮小。如果以原始圖像的行作為基本單元進行抽絲舍棄,申請的圖像縮小緩沖區(qū)
大小為目標圖像尺寸需要的存儲空間及原始圖像一行像素所占據(jù)的存儲空間;如果以原
始圖像的列作為基本單元進行抽絲舍棄,申請的圖像縮小緩沖區(qū)大小為目標圖像尺寸需
要的存儲空間及原始圖像一列像素所占據(jù)的存儲空間,從而大大節(jié)省了圖像縮小所占的
內存空間。 實施例一 圖2所示為本發(fā)明圖像縮小方法一個實施例的具體流程圖。 所述實施例一以行作為基本單元對圖像的像素點進行抽絲舍棄,實現(xiàn)圖像的縮小。具體過程如下 步驟S201 :圖像縮小流程開始。
步驟S202:讀取圖像文件,判斷圖像類型,讀取文件頭,獲得原始圖像的寬W、和高H。
在該實施例中,W=10, H = 8,即原始圖像尺寸為10X8。
步驟S203:獲取目標圖像要顯示的區(qū)域大小。 步驟S204:計算目標圖像的寬W1和高H1。該實施例首先獲取目標圖像要顯示的區(qū)域大小,計算出圖像的壓縮比例,然后根據(jù)所述壓縮比例計算目標圖像的寬度和高度。在該實施例中,Wl=8, HI = 5,即目標圖像的尺寸為8X5。
步驟S205:確定行舍棄因子和列舍棄因子。 在該實施例一中,定義行舍棄因子為H/(H-H1+1) = 8/(8-5+1) = 2 ;定義列舍棄因子為W/(W-W1+1) = 10/(10-8+1) = 3.33。
步驟S206 :根據(jù)W、 W1及H1申請緩沖區(qū)。該實施例以行作為基本單元對圖
像的像素點進行抽絲舍棄,因此,需要申請的緩沖區(qū)為原始圖像的一行所需的空間及目
標圖像所需的空間之和。其中, 一行所需的空間為原始圖像的寬度W。 步驟S207 :根據(jù)所述行舍棄因子判斷原始圖像的Y行是否舍棄。若Y行需要
舍棄,轉至步驟S212,若不舍棄,執(zhí)行步驟S208。其中,Y從1直至H。 該實施例一在以行作為基本單元對圖像進行縮小時,根據(jù)所述行舍棄因子及所
述列舍棄因子確定應舍棄的像素點的處理過程分為兩大步驟 第一步根據(jù)所述行舍棄因子判斷原始圖像中應舍棄的行的位置,并舍棄原始圖像中應舍棄的行的全部像素點。
第二步根據(jù)所述列舍棄因子判斷不應舍棄的行中的像素點是否舍棄;將需要舍棄的像素點舍棄掉,將剩余的像素點放置到緩沖區(qū)中作為目標圖像的像素點。
根據(jù)所述行舍棄因子判斷原始圖像中應舍棄的行的位置的方法如下定義一個循環(huán)變量i, i = i+H/(H-Hl+l), i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i+0.5)向下取整,取整后的值是所述應舍棄的行的位置。 在該實施例一中,根據(jù)H = 8、 Hl = 5計算出應舍棄的行是第2行、第4行和第6行。若當前處理的Y行是這三行中的其中一行,則執(zhí)行步驟S212;否則執(zhí)行步驟S208。 步驟S208 :在判斷當前Y行是不應舍棄的行時,對圖像的第Y行進行解碼。
步驟S209 :根據(jù)列舍棄因子確定Y行中應舍棄的像素點。 確定方法為定義一個循環(huán)變量j, j =j+W/(W-Wl+l), j初始值為O,循環(huán)次數(shù)
為(W-W1)次;對(j+0.5)向下取整,取整后的值是應舍棄的像素點所在的列的位置。應
舍棄的像素點是與所述取整后的值相對應的列及所述不應舍棄的行交叉位置的像素點。 在該實施例一中,根據(jù)W = 10、 Wl = 8計算出應舍棄的像素點所在的列是第
3列和第7列。相應的,第Y行應舍棄的像素點是第3個點和第7個點。 步驟S210 :判斷第Y行像素點是否全部篩選完畢。若全部篩選完畢,執(zhí)行步驟
S211,否則轉至步驟S209繼續(xù)根據(jù)列舍棄因子確定應舍棄的像素點。 步驟S211:在第Y行全部像素點均利用列舍棄因子確定是否舍棄完畢后,舍棄
掉應舍棄的像素點,而將Y行中剩余的像素點保存到緩沖區(qū)中。 步驟S212 :將Y加1,跳至下一行數(shù)據(jù)。 步驟S213:判斷是否處理完所有行的圖像數(shù)據(jù)。若處理完所有行數(shù)據(jù),執(zhí)行步驟S214;否則轉至步驟S207,繼續(xù)根據(jù)行舍棄因子及列舍棄因子對像素點進行抽絲舍棄。 步驟S214:在處理完所有圖像的數(shù)據(jù)后,緩沖區(qū)中存儲的是縮小后的目標圖像,則顯示目標圖像。
S215 :流程結束。
實施例二 實施例二與實施例一的步驟相同,與實施例一的不同之處在于實施例二中原始圖像的尺寸為20X20,目標圖像的尺寸為16X16,即W二20, H = 20, Wl = 16,Hl = 16。根據(jù)所述的行舍棄因子及所述列舍棄因子計算可知,原始圖像抽絲舍棄的行的位置為第4行、第8行、第12行和第16行,抽絲舍棄的列的位置為第4列、第8列、第12列和第16列。 上述實施例均是先判斷當前Y行是否舍棄,然后再進行解碼。當然,也可以先對當前Y行數(shù)據(jù)解碼,然后再判斷是否舍棄。 在本發(fā)明的圖像縮小方法中,根據(jù)行舍棄因子判斷原始圖像中應舍棄的行的位
置也可采用下述方法定義循環(huán)變量i, i = i+H/(H-Hl+l), i初始值為0,循環(huán)次數(shù)為
(H-H1)次;對(i-0.5)向下取整,取整后的值+1即為所述應舍棄的行的位置。 根據(jù)列舍棄因子判斷不應舍棄的行中的像素點所在的列的位置也可采用下述方
法來實現(xiàn)定義循環(huán)變量j, j = j+W/(W-Wl+l), j初始值為0,循環(huán)次數(shù)為(W-W1)次;
對(j-0.5)向下取整,取整后的值+1為應舍棄的像素點所在的列的位置。 圖2實施例是以行作為基本單元對圖像進行縮小,當然,也可以以列作為基本
單元對圖像進行縮小。 在以列為基本單元對圖像進行縮小時,根據(jù)所述行舍棄因子及所述列舍棄因子確定應舍棄的像素點的處理過程包括下述兩大步驟 第一步根據(jù)所述列舍棄因子判斷原始圖像中應舍棄的列的位置,并舍棄原始圖像中應舍棄的列的全部像素點; 第二步根據(jù)所述行舍棄因子判斷不應舍棄的列中的像素點是否舍棄;將需要
舍棄的像素點舍棄掉,將剩余的像素點放置到緩沖區(qū)中作為目標圖像的像素點。
具體的處理過程可參考圖2實施例所述的處理方法,此處不再贅述。
當然,以上所述僅是本發(fā)明的一種優(yōu)選實施方式而已,應當指出,對于本技術
領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤
飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
一種圖像的縮小方法,其特征在于,包括下述步驟a、根據(jù)原始圖像的尺寸與縮小后的目標圖像的尺寸確定圖像的行舍棄因子和列舍棄因子;b、根據(jù)所述行舍棄因子及所述列舍棄因子確定應舍棄的像素點,得到縮小后的目標圖像。
2. 根據(jù)權利要求1所述的圖像的縮小方法,其特征在于,所述原始圖像的尺寸為 WXH,所述縮小后的目標圖像的尺寸為W1XH1,則所述行舍棄因子為H/(H-H1+1),所 述列舍棄因子為W/(W-W1+1)。
3. 根據(jù)權利要求2所述的圖像的縮小方法,其特征在于,所述步驟b具體包括下述分 步驟bl、根據(jù)所述行舍棄因子判斷原始圖像中應舍棄的行的位置,并舍棄原始圖像中應 舍棄的行的全部像素點;b2、根據(jù)所述列舍棄因子判斷不應舍棄的行中的像素點是否舍棄;將需要舍棄的像 素點舍棄掉,將剩余的像素點放置到緩沖區(qū)中作為目標圖像的像素點。
4. 根據(jù)權利要求3所述的圖像的縮小方法,其特征在于,所述步驟bl中根據(jù)行舍棄 因子判斷原始圖像中應舍棄的行的位置的過程為定義循環(huán)變量i, i = i+H/(H-Hl+l), i 初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i+0.5)向下取整,取整后的值是所述應舍棄的行 的位置。
5. 根據(jù)權利要求3或4所述的圖像的縮小方法,其特征在于,所述步驟b2中根據(jù)列 舍棄因子判斷不應舍棄的行中的像素點是否舍棄的過程為定義循環(huán)變量j, j=j+W/ (W-W1+1), j初始值為0,循環(huán)次數(shù)為(W-W1)次;對(j+0.5)向下取整,取整后的值是應 舍棄的像素點所在的列的位置,應舍棄的像素點是與所述取整后的值相對應的列及所述 不應舍棄的行交叉位置的像素點。
6. 根據(jù)權利要求3所述的圖像的縮小方法,其特征在于,所述步驟bl中根據(jù)行舍棄因子判斷原始圖像中應舍棄的行的位置的過程為定義循 環(huán)變量i, i = i+H/(H-Hl+l), i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i-0.5)向下取整, 取整后的值+1即為所述應舍棄的行的位置;所述步驟b2中根據(jù)列舍棄因子判斷不應舍棄的行中的像素點是否舍棄的過程為定 義循環(huán)變量j, j =j+W/(W-Wl+l), j初始值為0,循環(huán)次數(shù)為(W-W1)次;對(j-0.5)向下 取整,取整后的值+l為應舍棄的像素點所在的列的位置,應舍棄的像素點是與所述取整 后的值+1相對應的列及所述不應舍棄的行交叉位置的像素點。
7. 根據(jù)權利要求2所述的圖像的縮小方法,其特征在于,所述步驟b具體包括下述分 步驟b3、根據(jù)所述列舍棄因子判斷原始圖像中應舍棄的列的位置,并舍棄原始圖像中應 舍棄的列的全部像素點;b4、根據(jù)所述行舍棄因子判斷不應舍棄的列中的像素點是否舍棄;將需要舍棄的像 素點舍棄掉,將剩余的像素點放置到緩沖區(qū)中作為目標圖像的像素點。
8. 根據(jù)權利要求6所述的圖像的縮小方法,其特征在于,所述步驟b3中根據(jù)列舍棄 因子判斷原始圖像中應舍棄的列的位置的過程為定義循環(huán)變量j, j=j+W/(W-Wl+l),j初始值為0,循環(huán)次數(shù)為(W-W1)次;對(j+0.5)向下取整,取整后的值是所述應舍棄的 列的位置。
9. 根據(jù)權利要求7或8所述的圖像的縮小方法,其特征在于,所述步驟b4中根據(jù) 行舍棄因子判斷不應舍棄的列中的像素點是否舍棄的過程為定義循環(huán)變量i,<formula>formula see original document page 3</formula> i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i+0.5)向下取整,取整后的值是應舍 棄的像素點所在的行的位置,應舍棄的像素點是與所述取整后的值相對應的行及所述不 應舍棄的列交叉位置的像素點。
10. 根據(jù)權利要求7所述的圖像的縮小方法,其特征在于,所述步驟b3中根據(jù)列舍棄因子判斷原始圖像中應舍棄的列的位置的過程為定義循 環(huán)變量j, <formula>formula see original document page 3</formula> j初始值為0,循環(huán)次數(shù)為(W-W1)次;對(j-0.5)向下取 整,取整后的值+1即為所述應舍棄的列的位置;所述步驟b4中根據(jù)行舍棄因子判斷不應舍棄的列中的像素點是否舍棄的過程為定 義循環(huán)變量i, <formula>formula see original document page 3</formula>i初始值為0,循環(huán)次數(shù)為(H-H1)次;對(i-0.5)向下取 整,取整后的值+l是應舍棄的像素點所在的行的位置,應舍棄的像素點是與所述取整后 的值+1相對應的行及所述不應舍棄的列交叉位置的像素點。
全文摘要
本發(fā)明公開了一種圖像的縮小方法,所述方法包括根據(jù)原始圖像的尺寸與縮小后的目標圖像的尺寸確定圖像的行舍棄因子和列舍棄因子的步驟,以及根據(jù)所述行舍棄因子及所述列舍棄因子確定應舍棄的像素點,得到縮小后的目標圖像的步驟。本發(fā)明采用排除的方法,以行或列為基本單元對圖像的各個像素進行抽絲舍棄,實現(xiàn)對圖像的縮小,節(jié)省了圖像縮小所占用的內存空間。
文檔編號G09G5/36GK101692336SQ20091001923
公開日2010年4月7日 申請日期2009年10月9日 優(yōu)先權日2009年10月9日
發(fā)明者宋敬彬, 朱海霞, 趙同凱 申請人:青島海信寬帶多媒體技術有限公司