本發(fā)明實施例涉及圖像處理,尤其涉及一種動圖生成的方法、裝置、電子設備及存儲介質。
背景技術:
1、隨著互聯網的發(fā)展,手機應用與前端網頁中動圖的應用日益廣泛,為用戶帶來了更加豐富多元的視覺體驗。
2、然而,動圖的制作往往源于視頻轉碼合成,這不可避免地導致了動圖文件體積較大的問題。盡管目前類似webp這類圖片格式提供了有損壓縮與無損壓縮的方法以期減小文件體積,但由于動圖的高幀率特性,其文件體積仍然維持在較高水平。此外,過度的有損壓縮還會損失圖像的清晰度,從而損害用戶體驗。
3、針對相關技術中存在的上述問題,目前尚未發(fā)現有效的解決方案。
技術實現思路
1、鑒于此,本發(fā)明實施例提供一種動圖生成的方法、裝置、電子設備及存儲介質,以解決相關技術中存在的上述技術問題。
2、第一方面,本發(fā)明實施例提供一種動圖生成的方法,該方法包括:
3、獲取目標圖片,并,基于目標圖片生成第一動圖;
4、對第一動圖進行分幀處理得到幀序列;
5、按照預設壓縮比例對幀序列中的每個分幀圖像進行壓縮,得到壓縮幀序列;
6、根據像素級比對方式對壓縮幀序列進行抽幀處理,得到抽幀后壓縮幀序列中剩余的保留幀圖像;
7、對保留幀圖像進行合成,生成第二動圖。
8、在一個可能的實施方式中,基于目標圖片生成第一動圖,包括:
9、響應于針對目標圖片的動效元素選取操作,確定目標圖片中的動效元素;
10、響應于針對動效元素的動效選取操作,確定動效元素的動效;
11、基于動效元素和動效生成第一動圖。
12、在一個可能的實施方式中,該方法還包括:
13、將第一動圖在顯示界面進行顯示;
14、在響應于針對第一動圖的第一確定操作時,執(zhí)行對第一動圖進行分幀處理得到幀序列的步驟。
15、在一個可能的實施方式中,對第一動圖進行分幀處理得到幀序列,包括:
16、基于動畫播放狀態(tài)屬性獲取第一動圖的當前動畫幀;
17、利用預設靜態(tài)渲染方式對當前動畫幀進行靜態(tài)渲染,得到分幀圖像;
18、通過動畫延遲屬性跳轉至當前動畫幀的下一動畫幀,直至完成對第一動畫的每一動畫幀的靜態(tài)渲染,得到幀序列。
19、在一個可能的實施方式中,該方法還包括:
20、將壓縮幀序列發(fā)送至顯示界面進行顯示。
21、在一個可能的實施方式中,根據像素級比對方式對壓縮幀序列進行抽幀處理,包括:
22、針對壓縮幀序列中相鄰的壓縮幀圖像,獲取壓縮幀圖像的各位置的圖像像素點;
23、將相鄰的壓縮幀圖像的各位置的圖像像素點進行顏色比對;
24、確定顏色比對一致的圖像像素點數量;
25、判定圖像像素點數量是否超過預設數量閾值;
26、在判定圖像像素點數量超過預設數量閾值的情況下,對重復的壓縮幀圖像進行抽幀處理。
27、在一個可能的實施方式中,該方法還包括:
28、將保留幀圖像在顯示界面上進行突出顯示;
29、在響應于針對保留幀圖像的第二確定操作時,執(zhí)行對保留幀圖像進行合成,生成第二動圖的步驟。
30、在一個可能的實施方式中,對保留幀圖像進行合成,生成第二動圖,包括
31、獲取第一動圖的原始幀總數、原始幀間延遲和動畫循環(huán)次數,并獲取保留幀圖像的第一保留幀總數;
32、根據原始幀總數、原始幀間延遲和第一保留幀總數,計算保留幀的保留幀間延遲;
33、根據保留幀間延遲和動畫循環(huán)次數,對保留幀圖像進行合成,生成第二動圖。
34、在一個可能的實施方式中,該方法還包括:
35、將壓縮幀序列發(fā)送至分幀圖片庫進行存儲,以及,將第二動圖發(fā)送至動圖結果存儲庫進行存儲,并,生成第二動圖的下載鏈接,以便于根據下載鏈接從動圖結果存儲庫中獲取第二動圖。
36、第二方面,本發(fā)明實施例提供一種動圖生成的裝置,該裝置包括:
37、獲取生成模塊,用于獲取目標圖片,并,基于目標圖片生成第一動圖;
38、分幀模塊,用于對第一動圖進行分幀處理得到幀序列;
39、壓縮模塊,用于按照預設壓縮比例對幀序列中的每個分幀圖像進行壓縮,得到壓縮幀序列;
40、抽幀模塊,用于根據像素級比對方式對壓縮幀序列進行抽幀處理,得到抽幀后壓縮幀序列中剩余的保留幀圖像;
41、生成模塊,用于對保留幀圖像進行合成,生成第二動圖。
42、第三方面,本發(fā)明實施例提供一種電子設備,其中,包括:處理器和存儲器,處理器用于執(zhí)行存儲器中存儲的動圖生成的程序,以實現上述的動圖生成的方法。
43、第四方面,本發(fā)明實施例提供一種存儲介質,其中,存儲介質存儲有一個或者多個程序,一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現上述的動圖生成的方法。
44、本發(fā)明實施例提供的動圖生成的方法、裝置、電子設備及存儲介質,方法包括:獲取目標圖片,并,基于目標圖片生成第一動圖;對第一動圖進行分幀處理得到幀序列;按照預設壓縮比例對幀序列中的每個分幀圖像進行壓縮,得到壓縮幀序列;根據像素級比對方式對壓縮幀序列進行抽幀處理,得到抽幀后壓縮幀序列中剩余的保留幀圖像;對保留幀圖像進行合成,生成第二動圖。通過本申請能夠自動完成對高幀率的動圖進行壓縮和抽幀等處理,有效減小動圖文件的體積,解決了目前動圖文件體積過大的技術問題。
1.一種動圖生成的方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述基于所述目標圖片生成第一動圖,包括:
3.根據權利要求1所述的方法,其特征在于,所述方法還包括:
4.根據權利要求1所述的方法,其特征在于,所述對所述第一動圖進行分幀處理得到幀序列,包括:
5.根據權利要求3所述的方法,其特征在于,所述方法還包括:
6.根據權利要求3所述的方法,其特征在于,所述根據像素級比對方式對所述壓縮幀序列進行抽幀處理,包括:
7.根據權利要求3所述的方法,其特征在于,所述方法還包括:
8.根據權利要求1所述的方法,其特征在于,所述對所述保留幀圖像進行合成,生成第二動圖,包括
9.根據權利要求1所述的方法,其特征在于,所述方法還包括:
10.一種動圖生成的裝置,其特征在于,所述裝置包括:
11.一種電子設備,其特征在于,包括:處理器和存儲器,所述處理器用于執(zhí)行所述存儲器中存儲的動圖生成的程序,以實現權利要求1~9中任一項所述的動圖生成的方法。
12.一種存儲介質,其特征在于,所述存儲介質存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現權利要求1~9中任一項所述的動圖生成的方法。