本技術(shù)涉及圖片處理,具體而言,涉及一種圖片處理方法及裝置、非易失性存儲介質(zhì)、電子設(shè)備。
背景技術(shù):
1、目前前端主流的裁剪工具是根據(jù)矩形選擇來裁剪圖片,但是人的面部是非矩形的,裁剪出來的效果不夠精準(zhǔn),用戶體驗差。隨著人工智能的發(fā)展,雖然目前也有諸如face-api的插件出現(xiàn),但是限于計算機資源有限,可能導(dǎo)致性能問題,而且該插件依賴模型,導(dǎo)致項目體積大,尤其在網(wǎng)絡(luò)不穩(wěn)定或者帶寬較低的情況下,初次加載模型所需時間較長,
2、針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供了一種圖片處理方法及裝置、非易失性存儲介質(zhì)、電子設(shè)備,以至少解決相關(guān)技術(shù)在前端對圖片進行裁剪的過程中,無法快速精準(zhǔn)地裁剪出圖片中的非矩形區(qū)域的技術(shù)問題。
2、根據(jù)本技術(shù)實施例的一個方面,提供了一種圖片處理方法,包括:獲取待處理圖片,其中,待處理圖片中包括多個像素點;確定多個像素點中每個像素點的rgba值,并根據(jù)每個像素點的rgba值,在待處理圖片中確定第一目標(biāo)區(qū)域以及第二目標(biāo)區(qū)域,其中,第一目標(biāo)區(qū)域與第二目標(biāo)區(qū)域的像素位置信息不同;確定第一目標(biāo)區(qū)域與第二目標(biāo)區(qū)域之間的第一長度以及第二長度,其中,第一長度為第一目標(biāo)區(qū)域內(nèi)的第一像素點與第二目標(biāo)區(qū)域內(nèi)的第二像素點之間的距離,第二長度為第一目標(biāo)區(qū)域內(nèi)的第三像素點與第二目標(biāo)區(qū)域內(nèi)的第四像素點之間的距離,第一像素點為距離第二目標(biāo)區(qū)域最遠的像素點,第二像素點為距離第一目標(biāo)區(qū)域最遠的像素點,第三像素點為距離第二目標(biāo)區(qū)域最近的像素點,第四像素點為距離第二目標(biāo)區(qū)域最近的像素點;根據(jù)第一長度和第二長度,確定初始面部區(qū)域,并根據(jù)第三像素點和第四像素點,在初始面部區(qū)域中確定目標(biāo)面部區(qū)域。
3、可選地,第一目標(biāo)區(qū)域包括:第一區(qū)域以及第二區(qū)域,第二目標(biāo)區(qū)域包括:第三區(qū)域以及第四區(qū)域,第一區(qū)域和第三區(qū)域內(nèi)像素點的r值均在第一預(yù)設(shè)范圍內(nèi),g值均在第二預(yù)設(shè)范圍內(nèi),b值均在第三預(yù)設(shè)范圍內(nèi),a值均在第四預(yù)設(shè)范圍內(nèi),第二區(qū)域和第四區(qū)域內(nèi)像素點的r值均在第五預(yù)設(shè)范圍內(nèi),g值均在第六預(yù)設(shè)范圍內(nèi),b值均在第七預(yù)設(shè)范圍內(nèi),a值均在第八預(yù)設(shè)范圍內(nèi)。
4、可選地,待處理圖片中包括n行像素點,其中,n為大于2的正整數(shù);根據(jù)每個像素點的rgba值,在待處理圖片中確定第一目標(biāo)區(qū)域以及第二目標(biāo)區(qū)域,包括:對于第1行像素點,自左至右,對每個像素點執(zhí)行掃描操作,以確定第1行像素點中的第11子區(qū)域以及第12子區(qū)域,其中,第11子區(qū)域和第12子區(qū)域的像素位置不同,在第11子區(qū)域和第12子區(qū)域內(nèi),連續(xù)m1個像素點滿足第一預(yù)設(shè)要求,第一預(yù)設(shè)要求包括:像素點的r值在第一預(yù)設(shè)范圍,g值在第二預(yù)設(shè)范圍,b值在第三預(yù)設(shè)范圍,a值在第四預(yù)設(shè)范圍,或者,像素點的r值在第五預(yù)設(shè)范圍,g值在第六預(yù)設(shè)范圍,b值在第七預(yù)設(shè)范圍,a值在第八預(yù)設(shè)范圍,m為大于1的正整數(shù);對于第i行像素點,自左至右,對每個像素點執(zhí)行掃描操作,以確定第i行像素點的第i1子區(qū)域以及第i2子區(qū)域,其中,第i1子區(qū)域和第i2子區(qū)域的像素位置不同,在第i1子區(qū)域和第i2子區(qū)域內(nèi),連續(xù)mi個像素點滿足第一預(yù)設(shè)要求,i為大于1小于n正整數(shù);對于第n行像素點,自左至右,對每個像素點執(zhí)行掃描操作,以確定第n行像素點的第n1子區(qū)域以及第n2子區(qū)域,其中,第n1子區(qū)域和第n2子區(qū)域的像素位置不同,在第n1子區(qū)域和第n2子區(qū)域內(nèi),連續(xù)mn個像素點滿足第一預(yù)設(shè)要求;對第11子區(qū)域、第i1子區(qū)域以及第n1子區(qū)域進行拼接處理,得到第一目標(biāo)區(qū)域;對第12子區(qū)域、第i2子區(qū)域以及第n2子區(qū)域進行拼接處理,得到第二目標(biāo)區(qū)域。
5、可選地,確定第一目標(biāo)區(qū)域與第二目標(biāo)區(qū)域之間的第一長度以及第二長度,包括:將n個第一子區(qū)域中最左側(cè)的像素點確定為第一像素點;將n個第二子區(qū)域中最右側(cè)的像素點確定為第二像素點;將n個第一子區(qū)域中最右側(cè)的像素點確定為第三像素點;將n個第二子區(qū)域中最左側(cè)的像素點確定為第四像素點;根據(jù)第一像素點和第三像素點,確定第一長度;根據(jù)第二像素點和第四像素點,確定第二長度。
6、可選地,根據(jù)第一長度和第二長度,確定初始面部區(qū)域,包括:確定第一像素點與第三像素點所構(gòu)成的線段的第一中點;確定第二像素點與第四像素點所構(gòu)成的線段的第二中點;以第一中點為基點,將第一目標(biāo)區(qū)域,向左右方向延伸u倍第一長度,向上下方向延伸v倍第二長度,得到第三目標(biāo)區(qū)域,其中,u,v為正數(shù);以第二中點為基點,將第二目標(biāo)區(qū)域,向左右方向延伸u倍第一長度,向上下方向延伸v倍第二長度,得到第四目標(biāo)區(qū)域;根據(jù)第三目標(biāo)區(qū)域和第四目標(biāo)區(qū)域,確定初始面部區(qū)域。
7、可選地,初始面部區(qū)域中包括k行像素點,其中,k為大于2的正整數(shù);根據(jù)第三像素點和第四像素點,在初始面部區(qū)域中確定面部區(qū)域,包括:確定第三像素點與第四像素點所構(gòu)成的線段的第三中點;以第三中點為圓心,預(yù)設(shè)長度為半徑,生成第一圓形區(qū)域;獲取第一圓形區(qū)域內(nèi)的像素點的rgba值的范圍;對于第1行像素點,自左至右,對y個像素點執(zhí)行掃描操作,以確定第1行像素點的多個第1子區(qū)域,其中,在每個第1子區(qū)域內(nèi),y個像素點中的預(yù)設(shè)比例的像素點的rgba值在第一范圍內(nèi),其中,第一范圍為第一圓形區(qū)域內(nèi)的像素點的rgba值的范圍,y為正整數(shù);對于第j行像素點,自左至右,對y個像素點執(zhí)行掃描操作,以確定第j行像素點的多個第j子區(qū)域,其中,在每個第j子區(qū)域內(nèi),y個像素點中的預(yù)設(shè)比例的像素點的rgba值在第一范圍內(nèi);對于第k行像素點,自左至右,對y個像素點執(zhí)行掃描操作,以確定第k行像素點的多個第k子區(qū)域,其中,在每個第k子區(qū)域內(nèi),y個像素點中的預(yù)設(shè)比例的像素點的rgba值在第一范圍內(nèi);對多個第1子區(qū)域、多個第j子區(qū)域以及多個第k子區(qū)域進行拼接及繪制,得到面部區(qū)域。
8、可選地,在初始面部區(qū)域中確定面部區(qū)域之后,方法還包括:將面部區(qū)域的尺寸調(diào)整至目標(biāo)尺寸,得到第一面部圖像,其中,目標(biāo)尺寸為預(yù)設(shè)模型中的預(yù)設(shè)面部圖像的尺寸;利用第一面部圖像替換預(yù)設(shè)面部圖像,得到目標(biāo)模型;展示目標(biāo)模型。
9、可選地,展示目標(biāo)模型之后,方法還包括:接收目標(biāo)對象對目標(biāo)模型的選擇結(jié)果,并在目標(biāo)對象未選擇目標(biāo)模型的情況下,執(zhí)行如下步驟:獲取目標(biāo)對象上傳的第一待處理圖片,其中,第一待處理圖片中包括第一面部區(qū)域;確定第一待處理圖片中多個像素點的像素信息;獲取在第一待處理圖片上的第一次點擊行為;確定第一次點擊行為對應(yīng)的第一點,確定并記錄第一點的像素位置;獲取在第一待處理圖片上的鼠標(biāo)活動軌跡,其中,鼠標(biāo)活動軌跡中包括多個第二點;在多個第二點中包括與第一點重合的第二點的情況下,確定并記錄每個第二點的像素位置;根據(jù)第一待處理圖片中多個像素點的像素信息以及每個第二點的像素位置,繪制每個第二點所圍成的區(qū)域的圖像,得到第一面部圖像;展示第一面部圖像。
10、可選地,第一預(yù)設(shè)范圍包括:[200-255],第二預(yù)設(shè)范圍包括:[200-255],第三預(yù)設(shè)范圍包括:[200-255],第四預(yù)設(shè)范圍包括:255,第五預(yù)設(shè)范圍包括:[0-50],第六預(yù)設(shè)范圍包括:[0-50],第七預(yù)設(shè)范圍包括:[0-50],第八預(yù)設(shè)范圍包括:255。
11、根據(jù)本技術(shù)實施例的再一方面,還提供了一種圖片處理裝置,包括:獲取模塊,用于獲取待處理圖片,其中,待處理圖片中包括多個像素點;第一確定模塊,用于確定多個像素點中每個像素點的rgba值,并根據(jù)每個像素點的rgba值,在待處理圖片中確定第一目標(biāo)區(qū)域以及第二目標(biāo)區(qū)域,其中,第一目標(biāo)區(qū)域與第二目標(biāo)區(qū)域的像素位置信息不同;第二確定模塊,用于確定第一目標(biāo)區(qū)域與第二目標(biāo)區(qū)域之間的第一長度以及第二長度,其中,第一長度為第一目標(biāo)區(qū)域內(nèi)的第一像素點與第二目標(biāo)區(qū)域內(nèi)的第二像素點之間的距離,第二長度為第一目標(biāo)區(qū)域內(nèi)的第三像素點與第二目標(biāo)區(qū)域內(nèi)的第四像素點之間的距離,第一像素點為距離第二目標(biāo)區(qū)域最遠的像素點,第二像素點為距離第一目標(biāo)區(qū)域最遠的像素點,第三像素點為距離第二目標(biāo)區(qū)域最近的像素點,第四像素點為距離第二目標(biāo)區(qū)域最近的像素點;第三確定模塊,用于根據(jù)第一長度和第二長度,確定初始面部區(qū)域,并根據(jù)第三像素點和第四像素點,在初始面部區(qū)域中確定目標(biāo)面部區(qū)域。
12、根據(jù)本技術(shù)實施例的再一方面,還提供了一種非易失性存儲介質(zhì),存儲介質(zhì)包括存儲的程序,其中,程序運行時控制存儲介質(zhì)所在的設(shè)備執(zhí)行以上的圖片處理方法。
13、根據(jù)本技術(shù)實施例的再一方面,還提供了一種電子設(shè)備,包括:存儲器和處理器,處理器用于運行存儲在存儲器中的程序,其中,程序運行時執(zhí)行以上的圖片處理方法。
14、根據(jù)本技術(shù)實施例的再一方面,還提供了一種計算機程序,其中,所述計算機程序被處理器執(zhí)行時實現(xiàn)以上的圖片處理方法。
15、根據(jù)本技術(shù)實施例的再一方面,還提供了一種計算機程序產(chǎn)品,計算機程序產(chǎn)品包括非易失性計算機可讀存儲介質(zhì),其中,非易失性計算機可讀存儲介質(zhì)存儲計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)以上的圖片處理方法。
16、在本技術(shù)實施例中,采用獲取待處理圖片,其中,待處理圖片中包括多個像素點;確定多個像素點中每個像素點的rgba值,并根據(jù)每個像素點的rgba值,在待處理圖片中確定第一目標(biāo)區(qū)域以及第二目標(biāo)區(qū)域,其中,第一目標(biāo)區(qū)域與第二目標(biāo)區(qū)域的像素位置信息不同;確定第一目標(biāo)區(qū)域與第二目標(biāo)區(qū)域之間的第一長度以及第二長度,其中,第一長度為第一目標(biāo)區(qū)域內(nèi)的第一像素點與第二目標(biāo)區(qū)域內(nèi)的第二像素點之間的距離,第二長度為第一目標(biāo)區(qū)域內(nèi)的第三像素點與第二目標(biāo)區(qū)域內(nèi)的第四像素點之間的距離,第一像素點為距離第二目標(biāo)區(qū)域最遠的像素點,第二像素點為距離第一目標(biāo)區(qū)域最遠的像素點,第三像素點為距離第二目標(biāo)區(qū)域最近的像素點,第四像素點為距離第二目標(biāo)區(qū)域最近的像素點;根據(jù)第一長度和第二長度,確定初始面部區(qū)域,并根據(jù)第三像素點和第四像素點,在初始面部區(qū)域中確定目標(biāo)面部區(qū)域的方式,實現(xiàn)了快速精準(zhǔn)地裁剪出圖片中的非矩形區(qū)域的技術(shù)效果,進而解決了相關(guān)技術(shù)在前端對圖片進行裁剪的過程中,無法快速精準(zhǔn)地裁剪出圖片中的非矩形區(qū)域的技術(shù)問題。