本發(fā)明涉及圖片處理,特別是涉及一種圖片尺寸縮放方法、一種圖片尺寸縮放裝置、一種電子設備以及一種計算機可讀介質。
背景技術:
1、現(xiàn)有技術中,在需要對圖片的尺寸進行縮放的情況下,通常需要采用如最近鄰算法、雙線性插值算法、雙三次插值算法等算法,分析像素點以及像素點周圍其他像素點的信息,并計算出縮放后圖片中像素的像素值,從而完成圖片的縮放。
2、其中,一些算法如最近鄰算法雖然占用比較少的計算資源,縮放后的圖片容易出現(xiàn)鋸齒狀圖案和馬賽克效果,導致圖片的縮放效果不佳。而一些算法如雙線性插值算法、雙三次插值算法雖然可以生成質量較好的圖片,但是其通常需要消耗較大的計算資源,在實時應用或者資源受限的情況下較難使用。
技術實現(xiàn)思路
1、本發(fā)明實施例是提供一種圖片尺寸縮放方法、裝置、電子設備以及計算機可讀存儲介質,以在使用較少計算資源的情況下,獲得質量較高的縮放圖片。
2、本發(fā)明實施例公開了一種圖片尺寸縮放方法,包括:
3、獲取待處理圖片;所述待處理圖片中包含若干像素點;
4、采用預設的希爾伯特曲線遍歷所述待處理圖片中的像素點;
5、基于所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,展開所述待處理圖片中的像素點,得到待處理像素序列;所述待處理像素序列包括至少一個按照所述希爾伯特曲線遍歷順序排列的像素點;
6、采用將所述希爾伯特曲線遍歷預設目標尺寸的參考圖片中的像素點;
7、基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序,以及所述待處理像素序列中的像素點的顏色,確定所述參考圖片中像素點的顏色,得到目標圖片。
8、可選地,所述采用預設的希爾伯特曲線遍歷所述待處理圖片中的像素點的步驟,包括:
9、生成包括希爾伯特曲線的希爾伯特曲線模板;
10、將所述希爾伯特曲線模板與所述待處理圖片匹配,使所述希爾伯特曲線經過所述待處理圖片中的像素點;
11、將所述希爾伯特曲線的任意一端作為起點,將所述希爾伯特曲線的延伸方式作為遍歷順序,遍歷所述待處理圖片中的像素點。
12、可選地,所述基于所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,展開所述待處理圖片中的像素點,得到待處理像素序列的步驟,包括:
13、按照所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,在一維直線方向上排列所述待處理圖片中的像素點,得到待處理像素序列。
14、可選地,所述將所述希爾伯特曲線的任意一端作為起點,將所述希爾伯特曲線的延伸方式作為遍歷順序,遍歷所述待處理圖片中的像素點的步驟,包括:
15、將所述希爾伯特曲線的任意一端作為起點,將所述希爾伯特曲線的延伸方式作為遍歷順序,遍歷所述待處理圖片中的像素點,直至所述希爾伯特曲線與所述待處理圖片的邊界相交,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接起點;
16、沿所述希爾伯特曲線的延伸方式,查找下一與所述希爾伯特曲線相交的所述待處理圖片的邊界,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接終點;
17、建立所述連接起點與所述連接終點之間的連接關系;
18、重復執(zhí)行將所述連接終點作為起點,將所述希爾伯特曲線的延伸方式作為遍歷順序,遍歷所述待處理圖片中的像素點,直至所述希爾伯特曲線與所述待處理圖片的邊界相交,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接起點,沿所述希爾伯特曲線的延伸方式,查找下一與所述希爾伯特曲線相交的所述待處理圖片的邊界,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接終點,建立所述連接起點與所述連接終點之間的連接關系的步驟,直至所述待處理圖片中的像素點遍歷完成;
19、可選地,所述按照所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,在一維直線方向上排列所述待處理圖片中的像素點,得到待處理像素序列的步驟,包括:
20、按照所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,以及所述連接起點與所述連接終點之間的連接關系,在一維直線方向上排列所述待處理圖片中的像素點,得到待處理像素序列。
21、可選地,所述基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序,以及所述待處理像素序列中的像素點的顏色,確定所述參考圖片中像素點的顏色,得到目標圖片的步驟,包括:
22、基于所述參考圖片中像素點的數(shù)量,生成參考像素點序列;
23、基于所述待處理像素序列中的像素點的顏色,確定所述參考像素點序列中像素點的顏色;
24、基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序,將所述參考像素點序列按照所述希爾伯特曲線折疊,得到目標圖片。
25、可選地,所述基于所述待處理像素序列中的像素點的顏色,確定所述參考像素點序列中像素點的顏色的步驟,包括:
26、調整所述參考像素點序列和/或所述待處理像素序列的長度,得到長度相同的目標參考像素點序列以及目標待處理像素序列;
27、基于所述目標待處理像素序列中像素點的顏色,確定所述目標參考像素點序列中像素點的顏色。
28、可選地,所述基于所述目標待處理像素序列中像素點的顏色,確定所述目標參考像素點序列中像素點的顏色的步驟,包括:
29、將所述目標參考像素點序列以及所述目標待處理像素序列首尾對齊放置;
30、對于所述目標參考像素點序列中的任一像素點,將所述目標待處理像素序列中與所述目標參考像素點序列的像素點距離最近的像素點的顏色,作為所述目標參考像素點序列的像素點的顏色。
31、可選地,所述基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序,將所述參考像素點序列按照所述希爾伯特曲線折疊,得到目標圖片的步驟,包括:
32、基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序以及所述希爾伯特曲線的形狀,依次確定所述參考像素點序列中像素點在所述目標圖片中的位置,得到目標圖片。
33、本發(fā)明實施例還提供一種圖片尺寸縮放裝置,包括:
34、圖片獲取模塊,用于獲取待處理圖片;所述待處理圖片中包含若干像素點;
35、第一遍歷模塊,用于采用預設的希爾伯特曲線遍歷所述待處理圖片中的像素點;
36、待處理像素序列獲取模塊,用于基于所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,展開所述待處理圖片中的像素點,得到待處理像素序列;所述待處理像素序列包括至少一個按照所述希爾伯特曲線遍歷順序排列的像素點;
37、第二遍歷模塊,用于采用將所述希爾伯特曲線遍歷預設目標尺寸的參考圖片中的像素點;
38、目標圖片確定模塊,用于基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序,以及所述待處理像素序列中的像素點的顏色,確定所述參考圖片中像素點的顏色,得到目標圖片。
39、可選地,所述第一遍歷模塊包括:
40、模板生成子模塊,用于生成包括希爾伯特曲線的希爾伯特曲線模板;
41、匹配模子塊,用于將所述希爾伯特曲線模板與所述待處理圖片匹配,使所述希爾伯特曲線經過所述待處理圖片中的像素點;
42、第一遍歷子模塊,用于將所述希爾伯特曲線的任意一端作為起點,將所述希爾伯特曲線的延伸方式作為遍歷順序,遍歷所述待處理圖片中的像素點。
43、可選地,所述待處理像素序列獲取模塊包括:
44、待處理像素序列獲取子模塊,用于按照所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,在一維直線方向上排列所述待處理圖片中的像素點,得到待處理像素序列。
45、可選地,所述第一遍歷子模塊包括:
46、連接起點查找單元,用于將所述希爾伯特曲線的任意一端作為起點,將所述希爾伯特曲線的延伸方式作為遍歷順序,遍歷所述待處理圖片中的像素點,直至所述希爾伯特曲線與所述待處理圖片的邊界相交,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接起點;
47、連接終點查找單元,用于沿所述希爾伯特曲線的延伸方式,查找下一與所述希爾伯特曲線相交的所述待處理圖片的邊界,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接終點;
48、連接關系建立單元,用于建立所述連接起點與所述連接終點之間的連接關系;
49、重復查找單元,用于重復執(zhí)行將所述連接終點作為起點,將所述希爾伯特曲線的延伸方式作為遍歷順序,遍歷所述待處理圖片中的像素點,直至所述希爾伯特曲線與所述待處理圖片的邊界相交,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接起點,沿所述希爾伯特曲線的延伸方式,查找下一與所述希爾伯特曲線相交的所述待處理圖片的邊界,將所述希爾伯特曲線與所述待處理圖片的邊界相交位置對應的像素點作為連接終點,建立所述連接起點與所述連接終點之間的連接關系的步驟,直至所述待處理圖片中的像素點遍歷完成。
50、可選地,所述待處理像素序列獲取模塊包括:
51、待處理像素序列獲取子模塊,用于按照所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,以及所述連接起點與所述連接終點之間的連接關系,在一維直線方向上排列所述待處理圖片中的像素點,得到待處理像素序列。
52、可選地,所述目標圖片確定模塊包括:
53、參考像素點序列生成子模塊,用于基于所述參考圖片中像素點的數(shù)量,生成參考像素點序列;
54、像素點顏色確定子模塊,用于基于所述待處理像素序列中的像素點的顏色,確定所述參考像素點序列中像素點的顏色;
55、目標圖片確定子模塊,用于基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序,將所述參考像素點序列按照所述希爾伯特曲線折疊,得到目標圖片。
56、可選地,所述像素點顏色確定子模塊包括:
57、長度調整單元,用于調整所述參考像素點序列和/或所述待處理像素序列的長度,得到長度相同的目標參考像素點序列以及目標待處理像素序列;
58、像素點顏色確定單元,用于基于所述目標待處理像素序列中像素點的顏色,確定所述目標參考像素點序列中像素點的顏色。
59、可選地,所述像素點顏色確定單元包括:
60、對齊子單元,用于將所述目標參考像素點序列以及所述目標待處理像素序列首尾對齊放置;
61、像素點顏色確定子單元,用于對于所述目標參考像素點序列中的任一像素點,將所述目標待處理像素序列中與所述目標參考像素點序列的像素點距離最近的像素點的顏色,作為所述目標參考像素點序列的像素點的顏色。
62、可選地,所述目標圖片確定子模塊包括:
63、目標圖片確定單元,用于基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序以及所述希爾伯特曲線的形狀,依次確定所述參考像素點序列中像素點在所述目標圖片中的位置,得到目標圖片。
64、本發(fā)明實施例還公開了一種電子設備,包括處理器、通信接口、存儲器和通信總線,其中,所述處理器、所述通信接口以及所述存儲器通過所述通信總線完成相互間的通信;
65、所述存儲器,用于存放計算機程序;
66、所述處理器,用于執(zhí)行存儲器上所存放的程序時,實現(xiàn)如本發(fā)明實施例所述的方法。
67、本發(fā)明實施例還公開了一個或多個計算機可讀介質,其上存儲有指令,當由一個或多個處理器執(zhí)行時,使得所述處理器執(zhí)行如本發(fā)明實施例所述的方法。
68、本發(fā)明實施例包括以下優(yōu)點:
69、通過本發(fā)明實施例中提供的圖片尺寸縮放方法,獲取待處理圖片;所述待處理圖片中包含若干像素點;采用預設的希爾伯特曲線遍歷所述待處理圖片中的像素點;基于所述希爾伯特曲線對所述待處理圖片中像素點的遍歷順序,展開所述待處理圖片中的像素點,得到待處理像素序列;所述待處理像素序列包括至少一個按照所述希爾伯特曲線遍歷順序排列的像素點;采用將所述希爾伯特曲線遍歷預設目標尺寸的參考圖片中的像素點;基于所述希爾伯特曲線對所述參考圖片中像素點的遍歷順序,以及所述待處理像素序列中的像素點的顏色,確定所述參考圖片中像素點的顏色,得到目標圖片。由此,可以基于希爾伯特曲線實現(xiàn)對圖片的縮放處理,快速確定縮放后目標圖片中各像素的顏色,計算需要消耗的資源較小,且生成的圖片表現(xiàn)自然,具有較高的質量。