本技術涉及圖像數據領域,特別涉及一種圖像處理方法、電子設備及存儲介質。
背景技術:
1、目前,用戶為了使通過電子設備拍攝得到的圖像或者視頻顯示更好的效果,可以將圖像素材(圖像素材可以是圖像,也可以是視頻,也可以是圖像和視頻)導入電子設備或者第三方提供的圖像處理軟件進行處理,例如,對圖像素材進行拼接處理。然而,在圖像處理軟件中導入多個不同畫幅比例的圖像素材進行處理時,會導致最終保存的處理后的圖像素材中出現黑邊的情況。而且,圖像處理軟件在對導入的圖像素材全部處理完成后,才能對處理后的圖像素材導出顯示,靈活性較低。
技術實現思路
1、本技術提供了一種圖像處理方法、電子設備及存儲介質,可以避免處理后的視頻中出現黑邊的情況,且可以實現對圖像處理結果的實時預覽,提高圖像處理顯示的靈活性。所述技術方案如下:
2、第一方面,提供了一種圖像處理方法,所述方法包括:
3、用戶在圖庫界面中執行第一操作,響應于第一操作,加載并顯示圖庫中的視頻和圖片。之后,用戶選擇圖庫中的圖像素材并確認執行裁剪,響應于選擇圖像素材并確認執行裁剪的操作,根據第一畫幅比例對圖像素材分批進行裁剪處理,以使圖像素材的畫幅比例均為第一畫幅比例。并且,在根據第一畫幅比例對圖像素材分批進行裁剪處理的過程中,在對圖像素材中分批處理的任一批圖像幀即第一圖像幀序列處理完成后,對處理得到的具有第一畫幅比例的第一圖像幀序列進行預覽顯示,比如顯示具有第一畫幅比例的第一圖像幀序列的預覽視頻。
4、通過對圖像素材進行裁剪處理,以使圖像素材的畫幅比例均為第一畫幅比例,可以避免處理后的視頻中因畫幅比例不同導致的出現黑邊的情況。通過對圖像素材分批進行裁剪處理,并在對圖像素材中分批處理的任一批圖像幀處理完成后,對處理完成后的圖像幀進行預覽顯示,可以實現一邊對圖像素材進行裁剪處理一邊對裁剪處理結果進行預覽顯示,從而可以實現對裁剪處理結果的實時預覽,提高了圖像處理顯示的靈活性。
5、結合第一方面,在第一方面的某些實現方式中,還可以根據第一畫幅比例以及圖像素材中的主體位置,對圖像素材分批進行裁剪處理。如此,不僅可以避免最終處理后的視頻中出現黑邊的情況,還可以保證不會出現主體丟失、主體缺失的情況,提升了用戶體驗。
6、結合第一方面,在第一方面的某些實現方式中,根據第一畫幅比例對圖像素材分批進行裁剪處理的過程包括:對第一圖像幀序列包括的多個圖像幀進行采樣,得到多個采樣幀,多個采樣幀的數量小于多個圖像幀的數量;對多個采樣幀進行主體檢測,得到多個采樣幀中的至少部分采樣幀中每個采樣幀的主體位置信息,每個采樣幀的主體位置信息用于指示每個采樣幀中的目標主體在對應采樣幀所處的位置;根據至少部分采樣幀的主體位置信息和第一畫幅比例,確定多個圖像幀中每個圖像幀的裁剪框位置信息,裁剪框位置信息用于指示裁剪框在對應圖像幀所處的位置,裁剪框的畫幅比例為第一畫幅比例;根據多個圖像幀中的每個圖像幀的裁剪框位置信息對每個圖像幀進行裁剪,得到與多個圖像幀一一對應的多個第一圖像幀,第一圖像幀的畫幅比例為第一畫幅比例。
7、通過先對第一圖像幀序列進行采樣得到采樣幀,再對采樣幀進行主體檢測,得到采樣幀的主體位置信息,根據采樣幀的主體位置信息和第一畫幅比例,確定第一圖像幀序列的裁剪框位置信息,之后根據每個圖像幀的裁剪框位置信息對每個圖像幀進行裁剪,得到與這批圖像幀一一對應的第一圖像幀,可以降低畫幅裁切的復雜度,提高畫幅裁切效率,對畫幅裁切結果的實時預覽提供了強有力的支持。另外,還提高了畫幅裁切的精準度,保證不會出現主體丟失、主體缺失的情況。
8、結合第一方面,在第一方面的某些實現方式中,可以對第一圖像幀序列中的多個圖像幀進行分組,得到多組圖像幀,然后對多組圖像幀中的每組采樣幀進行采樣,以從每組采樣幀中提取至少一個采樣幀,從而得到多個采樣幀。如此,可以提高采樣的均衡性,進而提高畫幅裁切的效率和精準度。
9、結合第一方面,在第一方面的某些實現方式中,可以采用滑動時間窗口依次在圖像素材中的圖像幀上進行滑動,根據滑動時間窗口,依次從圖像素材中提取待處理的圖像幀序列作為第一圖像幀序列。
10、結合第一方面,在第一方面的某些實現方式中,采用滑動時間窗口依次在圖像素材中的圖像幀上進行滑動,在采用滑動時間窗口依次在圖像素材中的圖像幀上進行滑動的過程中,若滑動時間窗口滑動至圖像素材中畫幅比例均不是第一畫幅比例的第一連續幀序列,則根據滑動時間窗口,依次從第一連續圖像幀序列中提取待處理的圖像幀序列作為第一圖像幀序列。若滑動時間窗口滑動至圖像素材中的畫幅比例均為第一畫幅比例的第二連續幀序列,則根據滑動時間窗口,依次從第二連續圖像幀序列中提取圖像幀序列,并對提取的圖像幀序列進行預覽顯示。
11、其中,在第一連續圖像幀序列之前存在幀圖像幀的情況下第一連續圖像幀序列的前一幀圖像幀的畫幅比例為第一畫幅比例,在第一連續圖像幀序列之后存在圖像幀的情況下第一連續圖像幀序列的后一幀圖像幀的畫幅比例為第一畫幅比例。在第二連續圖像幀序列之前存在幀圖像幀的情況下第二連續圖像幀序列的前一幀圖像幀的畫幅比例不是第一畫幅比例,在第二連續圖像幀序列之后存在圖像幀的情況下第二連續圖像幀序列的后一幀圖像幀的畫幅比例不是第一畫幅比例。
12、如此,對于圖像素材中原始畫幅比例就是第一畫幅比例的一些圖像幀,可以不進行畫幅裁切,而是直接進行預覽顯示,對于圖像素材中畫幅比例不是第一畫幅比例的連續圖像幀,則采樣滑動時間窗口對其分批進行裁剪處理,進一步提高了裁剪處理效率,對畫幅裁切結果的實時預覽提供了支持。
13、結合第一方面,在第一方面的某些實現方式中,對多個采樣幀進行主體檢測,得到多個采樣幀中的至少部分采樣幀中每個采樣幀的主體位置信息的過程包括:對第一采樣幀進行主體檢測,得到主體檢測結果,第一采樣幀為多個采樣幀中的任一個。在主體檢測結果指示第一采樣幀無主體的情況下,即對第一采樣幀進行主體檢測未檢測到主體,確定第一采樣幀無目標主體。如此,對于無目標主體的采樣幀,后續在確定其裁剪框位置信息時,可以根據該采樣幀的預設位置的位置信息和第一畫幅比例,確定該采樣幀的裁剪框位置信息。其中,預設位置可以為采樣幀的中心位置等,本技術實施例對此不做限定。
14、另外,在主體檢測結果包括至少一個主體的主體位置信息的情況下,確定至少一個主體中每個主體的空間維度信息和時間維度信息。根據至少一個主體的空間維度信息和時間維度信息,從至少一個主體中確定目標主體,將目標主體的位置信息作為第一采樣幀的主體位置信息。
15、其中,空間維度信息包括對應主體的面積占比和中心距離,面積占比是指對應主體的面積與第一采樣幀的圖像面積之間的比值,中心距離是指對應主體距第一采樣幀的畫面中心的距離。另外,中心距離還可以替換為邊緣距離,邊緣距離是指對應主體距第一采樣幀的畫面邊緣的距離。
16、其中,時間維度信息包括對應主體在第一圖像幀序列內的出現時長信息,比如對應主體在滑動時間窗口內的出現時長信息。出現時長信息可以為對應主體在第一圖像幀序列內的出現時長,也可以為對應主體在第一圖像幀序列內的出現時長與第一圖像幀序列的總時長之間的比值。作為一個示例,對應主體在第一圖像幀序列內的出現時長可以用對應主體在多個采樣幀中的出現時長來表示。
17、通過根據采樣幀中至少一個主體的空間維度信息和時間維度信息,從至少一個主體中確定目標主體,可以提高確定采樣幀中顯著性主體的準確度,進而提高畫幅裁切的準確度,避免畫幅裁切結果出現主體丟失的情況。
18、結合第一方面,在第一方面的某些實現方式中,根據至少一個主體的空間維度信息和時間維度信息,從至少一個主體中確定目標主體的過程包括:若至少一個主體中存在出現時長信息滿足第一預設條件的主體,則將出現時長信息滿足第一預設條件的主體確定為目標主體。
19、其中,第一預設條件可以為在第一圖像幀序列內的出現時長大于第一預設時長,或者,出現時長占比大于第一預設比值,出現時長占比是指對應主體在第一采樣幀內的出現時長與第一采樣幀的總時長之間的比值。當然,第一預設條件也可以為與出現時長相關的其他條件,本技術實施例對此不做限定。
20、通過將出現時長信息滿足第一預設條件的主體識別為目標主體,可以將第一圖像幀序列中頻繁出現的主體識別為目標主體,便于后續根據頻繁出現的主體進行畫幅裁切,使得畫幅裁切結果中能夠包括頻繁出現的主體,提高畫幅裁切的精準度。
21、結合第一方面,在第一方面的某些實現方式中,若至少一個主體中不存在出現時長信息滿足第一預設條件的主體,則根據至少一個主體中每個主體的面積占比和中心距離,從至少一個主體中確定目標主體。
22、結合第一方面,在第一方面的某些實現方式中,在至少一個主體包括多個主體的情況下,根據至少一個主體中每個主體的面積占比和中心距離,從至少一個主體中確定目標主體,包括:若多個主體的中心距離之間的最大距離差小于或等于距離差閾值,則將多個主體中面積占比滿足第二預設條件的主體確定為目標主體;若多個主體的面積占比之間的最大面積差小于或等于面積差閾值,則將至少一個主體中中心距離滿足第三預設條件的主體確定為目標主體。
23、如此,可以在多個主體距畫面中心的距離相近時,將面積占比大的主體識別為目標主體。多個主體的面積占比相近,將中心距離小的主體識別為目標主體。
24、結合第一方面,在第一方面的某些實現方式中,在至少一個主體包括一個主體的情況下,若主體的面積占比大于或等于第二預設比值,和/或,主體的中心距離均小于或等于第一距離閾值,則將主體確定為目標主體。
25、結合第一方面,在第一方面的某些實現方式中,若至少一個主體的面積占比均小于第二預設比值閾值,且至少一個主體的中心距離均大于第一距離閾值的情況下,則確定第一采樣幀中無目標主體。
26、也即是,在無明顯主體(多個主體的面積占比都較小,且距畫面中心均較遠)的情況下,確定第一采樣幀無目標主體。對于無目標主體的采樣幀,后續在確定其裁剪框位置信息時,可以根據該采樣幀的預設位置的位置信息和第一畫幅比例,確定該采樣幀的裁剪框位置信息。
27、在一個示例中,在對多個采樣幀進行主體檢測之前,還可以對每個采樣幀進行降分辨率處理,以降低采樣幀的分辨率,得到分辨率更小的采樣幀,再對降分辨率處理后的采樣幀進行主體檢測。其中,降分辨率處理可以為下采樣等。
28、結合第一方面,在第一方面的某些實現方式中,根據至少部分采樣幀的主體位置信息和第一畫幅比例,確定多個圖像幀中每個圖像幀的裁剪框位置信息包括:根據至少部分采樣幀的主體位置信息和第一畫幅比例,確定多個采樣幀的裁剪框位置信息;根據多個采樣幀的裁剪框位置信息進行插值,以得到多個圖像幀的裁剪框位置信息。
29、通過根據多個采樣幀的裁剪框位置信息進行插值,以得到多個圖像幀的裁剪框位置信息,可以降低確定裁剪框位置的復雜度,提高確定裁剪框位置的效率,進而提高畫幅裁切效率,為畫幅裁切結果的實時預覽提供支持。
30、結合第一方面,在第一方面的某些實現方式中,在多個采樣幀出現單一主體情況下,可以根據單一主體的運動軌跡和第一畫幅比例確定多個采樣幀的裁剪框位置信息,多個采樣幀的裁剪框包括單一主體的運動軌跡。
31、比如,若根據至少部分采樣幀的主體位置信息確定至少部分采樣幀中的目標主體均為第一目標主體,或者,至少部分采樣幀中出現第一目標主體的出現時長滿足第四預設條件,則確定多個采樣幀出現單一主體,然后基于多個采樣幀對第一目標主體進行主體跟蹤,以得到第一目標主體的運動軌跡,再根據該運動軌跡和第一畫幅比例確定多個采樣幀的裁剪框位置信息。其中,多個采樣幀的裁剪框包括第一目標主體的運動軌跡。
32、其中,第四預設條件可以為出現時長大于第二預設時長,或者,第一目標主體在多個采樣幀的出現時長與多個采樣幀的總時長之間的比值大于或等于第五預設比值,當然也可以為與出現時長有關的其他預設條件。
33、通過根據單一目標的運動軌跡和第一畫幅比例確定多個采樣幀的裁剪框位置信息,可以保證多個采樣幀的裁剪框能夠包含單一目標的運動軌跡,進而使得畫幅裁切結果能夠體現單一目標的運動軌跡,從而提高了畫幅裁切的精準度,避免了出現主體丟失的情況。
34、結合第一方面,在第一方面的某些實現方式中,根據運動軌跡和第一畫幅比例,確定多個采樣幀的裁剪框位置信息包括:若第二采樣幀中的第一目標主體在第一裁剪框內,則將第一裁剪框的位置信息確定為第二采樣幀的裁剪框位置信息,第一裁剪框在第二采樣幀所處的位置與第二裁剪框在第三采樣幀所處的位置相同,第二裁剪框為第三采樣幀的裁剪框,第三采樣幀為第二采樣幀之前存在第一目標主體的采樣幀;其中,若第三采樣幀為多個采樣幀中存在第一目標主體的第一幀采樣幀,則第二裁剪框的位置信息是根據第三采樣幀中第一目標主體的位置信息和第一畫幅比例確定的;若第二采樣幀中的第一目標主體不在第一裁剪框內,則根據第二采樣幀中第一目標主體的位置信息和第一畫幅比例確定第二采樣幀的裁剪框位置信息。
35、也即是,在根據第一目標主體的運動軌跡和第一畫幅比例確定多個采樣幀的裁剪框位置信息的過程中,若第一目標主體的運動范圍在裁剪框范圍內,則不改變裁剪框位置,若運動范圍超出裁切框范圍,則根據當前的第一目標主體的位置信息和第一畫幅比例確定裁剪框位置信息。如此,可以使得畫幅裁切結果能夠體現目標主體的運動軌跡,且可以保證畫幅裁切的平滑性,避免主體位置的劇烈抖動。
36、結合第一方面,在第一方面的某些實現方式中,若在包括第一目標主體的第四采樣幀之后存在包括第一目標主體的第五采樣幀,且四采樣幀和第五采樣幀之間的采樣幀不存在第一目標主體,四采樣幀和第五采樣幀之間的時間間隔小于或等于時長閾值,則根據第四采樣幀的裁剪框位置信息確定第五采樣幀的裁剪框位置信息,第四采樣幀的裁剪框在第四采樣幀所處的位置與第五采樣幀的裁剪框在第五采樣幀所處的位置相同。
37、也即是,在根據第一目標主體的運動軌跡和第一畫幅比例確定多個采樣幀的裁剪框位置信息的過程中,若第一目標主體短暫消失后又重新恢復,則畫幅裁切位置不變。如此,可以保證畫幅裁切的平滑性,避免主體位置的劇烈抖動。
38、結合第一方面,在第一方面的某些實現方式中,根據至少部分采樣幀的主體位置信息和第一畫幅比例,確定多個采樣幀的裁剪框位置信息包括:若根據至少部分采樣幀的主體位置信息確定至少部分采樣幀中的目標主體不是同一目標主體,或者,至少部分采樣幀中出現同一目標主體的出現時長不滿足第四預設條件,則根據至少部分采樣幀中每個采樣幀的主體位置信息和第一畫幅比例,確定每個采樣幀的裁剪框位置信息。
39、結合第一方面,在第一方面的某些實現方式中,至少部分采樣幀包括第六采樣幀,第六采樣幀中存在多個目標主體;根據至少部分采樣幀中每個采樣幀的主體位置信息和第一畫幅比例,確定每個采樣幀的裁剪框位置信息包括:若多個目標主體的主體聚集性滿足第五預設條件,則根據多個目標主體的中心位置信息和第一畫幅比例,確定第六采樣幀的裁剪框位置信息;若多個目標主體的主體聚集性不滿足第五預設條件,則根據多個目標主體的面積占比、中心距離或在多個采樣幀中的出現時長信息,從多個目標主體中確定顯著主體,根據顯著主體的主體位置信息和第一畫幅比例,確定第六采樣幀的裁剪框位置信息。
40、如此,可以在某個采樣幀出現多個目標主體的情況下,根據多個目標主體的聚集性特征確定裁剪框位置信息,若多個目標主體的聚集性滿足聚集條件,則根據多個目標主體的中心位置信息和第一畫幅比例確定裁剪框位置信息。
41、結合第一方面,在第一方面的某些實現方式中,根據第一畫幅比例對圖像素材分批進行裁剪處理之前,還可以通過預覽管線中的解析節點,對圖像素材進行解析,獲取圖像素材中的圖像幀,預覽管線包括依次連接的解析節點、渲染節點和送顯節點;然后,通過畫幅裁切業務管線對圖像素材中的圖像幀分批進行裁剪處理,畫幅裁切業務管線位于解析節點后、渲染節點前;在通過畫幅裁切業務管線對圖像素材中的第一圖像幀序列處理完成后,通過渲染節點對處理得到的具有第一畫幅比例的第一圖像幀序列進行渲染;通過送顯節點對渲染后的具有第一畫幅比例的圖像幀序列進行送顯,以對處理得到的具有第一畫幅比例的第一圖像幀序列進行預覽顯示。
42、通過構建的預覽管線和畫幅裁切業務管線對圖像素材分批進行裁剪處理,可以提高畫幅裁切的效率和可靠性。
43、結合第一方面,在第一方面的某些實現方式中,預覽管線還包括緩存節點,緩存節點位于解析節點后、渲染節點前,畫幅裁切業務管線位于緩存節點后、渲染節點前;通過預覽管線中的解析節點,對圖像素材進行解析之后,還可以通過圖像幀緩存節點,根據滑動時間窗口依次從圖像素材中的圖像幀中提取待處理圖像幀序列作為第一圖像幀序列,并對提取的第一圖像幀序列進行緩存;然后,通過畫幅裁切業務管線獲取緩存節點緩存的第一圖像幀序列,每獲取到一組第一圖像幀序列,對第一圖像幀序列進行裁剪處理,以使第一圖像幀序列的畫幅比例均為第一畫幅比例。
44、結合第一方面,在第一方面的某些實現方式中,響應于用戶選擇圖庫中的圖像素材并確認執行裁剪的操作,顯示第一界面,第一界面包括多個畫幅比例;響應于用戶選擇第一畫幅比例的操作,根據第一畫幅比例對圖像素材分批進行裁剪處理。
45、也即是,本技術實施例還支持由用戶從多個畫幅比例選項中選擇畫幅比例,根據用戶選擇的畫幅比例對圖像素材分批進行裁剪處理。如此,可以提高畫幅裁切的個性化和靈活性。
46、第二方面,提供了一種圖像處理裝置,所述圖像處理裝置具有實現上述第一方面中圖像處理方法行為的功能。所述圖像處理裝置包括至少一個模塊,所述至少一個模塊用于實現上述第一方面所提供的圖像處理方法。
47、第三方面,提供了一種圖像處理裝置,所述圖像處理裝置的結構中包括處理器和存儲器,所述存儲器用于存儲支持圖像處理裝置執行上述第一方面所提供的圖像處理方法的程序,以及存儲用于實現上述第一方面所述的圖像處理方法所涉及的數據。所述處理器被配置為用于執行所述存儲器中存儲的程序。所述圖像處理裝置還可以包括通信總線,所述通信總線用于在所述處理器與所述存儲器之間建立連接。
48、第四方面,提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有指令,當其在計算機上運行時,使得計算機執行上述第一方面所述的圖像處理方法。
49、第五方面,提供了一種包含指令的計算機程序產品,當其在計算機上運行時,使得計算機執行上述第一方面所述的圖像處理方法。
50、上述第二方面、第三方面、第四方面和第五方面所獲得的技術效果與上述第一方面中對應的技術手段獲得的技術效果近似,在這里不再贅述。