本技術涉及智能終端,尤其涉及一種拍攝方法、電子設備及存儲介質。
背景技術:
1、隨著終端技術的發(fā)展,電子設備功能的日益完善,人們在使用電子設備的過程中,可能需要使用電子設備的攝像頭拍攝其他設備顯示屏顯示的內容,或者拍攝衣物、大廈、屋頂等具有密集紋理的物體。
2、如果電子設備的攝像頭的像素空間頻率與被攝畫面中條紋的空間頻率數值接近,那么電子設備通過攝像頭采集的圖像中會產生摩爾紋。圖像中的摩爾紋會影響圖像的顯示質量,因此,需要消除圖像中的摩爾紋。
技術實現思路
1、為了解決上述技術問題,本技術實施例提供一種拍攝方法、電子設備及存儲介質。在該方法中,電子設備通過采集不同攝像頭馬達位置對應的多個圖像幀,并根據各個圖像幀的摩爾紋檢測結果,獲取得到沒有摩爾紋的拍攝圖像,從而避免了拍攝圖像中出現摩爾紋,提高了拍攝圖像的圖像質量。
2、第一方面,本技術實施例提供一種拍攝方法。該方法包括:電子設備在目標應用的去除摩爾紋場景下,確定攝像頭馬達對應的第一位置和第二位置;響應于目標操作,電子設備采集第一位置對應的第一幀,以及第二位置對應的第二幀,并對第一幀和第二幀進行摩爾紋檢測;電子設備在第一幀存在摩爾紋時,根據第一幀和第二幀確定目標幀,或者,根據第二幀確定目標幀;電子設備對目標幀進行像差解算,得到與目標操作對應的拍攝幀。
3、其中,第二位置的數量為至少一個;第二幀的數量與第二位置的數量相同。
4、示例性的,目標應用為系統(tǒng)相機應用,或具有相機功能的第三方應用。
5、示例性的,目標操作可以為點擊目標應用的拍攝控件的操作。
6、其中,第一位置可以是攝像頭對焦時的攝像頭馬達的位置。第二位置可以是攝像頭離焦時的攝像頭馬達的位置。具體的,第二位置可以包括第一離焦時攝像頭馬達的位置和第二離焦時攝像頭馬達的位置。
7、其中,第一幀可以為合焦幀,第二幀可以為離焦幀。具體的,第二幀可以包括第一離焦幀和第二離焦幀。
8、具體的,攝像頭馬達對應的第二位置,與采集的第二幀是一一對應的。也即,攝像頭馬達在第二位置處時,電子設備采集第二幀。
9、對第一幀和第二幀進行摩爾紋檢測,也即檢測第一幀和第二幀中是否存在摩爾紋。
10、具體的,如果第一幀不存在摩爾紋,則電子設備可以將第一幀確定為與目標操作對應的拍攝幀。
11、這樣,電子設備通過采集不同攝像頭馬達位置對應的多個圖像幀,并根據各個圖像幀的摩爾紋檢測結果,獲取得到沒有摩爾紋的拍攝圖像,從而避免了拍攝圖像中出現摩爾紋,提高了拍攝圖像的圖像質量。
12、根據第一方面,電子設備確定攝像頭馬達對應的第二位置,可以包括:電子設備在確定第一位置之后,確定第三位置,并計算第一位置對應的景深數據;電子設備根據景深數據和第三位置,確定第四位置;電子設備根據第四位置,確定攝像頭馬達對應的第二位置。
13、其中,第三位置為攝像頭對焦時的焦點位置;第四位置為攝像頭離焦時的焦點位置。
14、其中,第二位置與第四位置之間的距離,與第三位置與第一位置之間的距離相同。
15、示例性的,參照圖7中的(1)或(2)所示,第一位置可以是相機鏡片的位置,第三位置可以是被拍攝物體的位置,景深數據可以是dof的取值范圍,第四位置可以是離焦位置,第二位置可以是移動后的相機鏡片的位置。
16、具體的,電子設備在確定第一位置之后,可以根據高斯成像公式1/f=1/u+1/v確定第三位置。其中,f為焦距,u為對焦時的物距,v為對焦時的像距。
17、這樣,電子設備能夠準確的確定攝像頭馬達對應的第二位置,以降低第二位置對應的第二幀中出現摩爾紋的可能,同時使得第二位置對應的第二幀具有較輕的模糊程度。
18、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備計算第一位置對應的景深數據,可以包括:電子設備根據公式,計算第一位置對應的景深數據。
19、其中,dof為景深數據;u為第三位置與第一位置之間的距離;f#為攝像頭的光圈數;coc為攝像頭馬達在第一位置時的彌散圓直徑;f為攝像頭的焦距。
20、其中,第三位置與第一位置之間的距離,也即對焦時的物距。
21、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備根據景深數據和第三位置,確定第四位置,可以包括:電子設備根據景深數據,確定第一景深位置;電子設備根據第一景深位置和第三位置,確定第一景深位置和第三位置之間的第一中間位置;電子設備在第一中間位置和第一景深位置的范圍內,確定第四位置。
22、示例性的,參照圖7中的(1)所示,第一景深位置可以是前景深的位置,第一中間位置可以是1/2前景深的位置。
23、這樣,電子設備能夠在景深范圍內,距離前景深較近的位置處,確定攝像頭離焦時的焦點位置,從而進一步降低第二位置對應的第二幀中出現摩爾紋的可能,同時使得第二位置對應的第二幀具有較輕的模糊程度。
24、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備根據景深數據和第三位置,確定第四位置,可以包括:電子設備根據景深數據,確定第二景深位置;電子設備根據第二景深位置和第三位置,確定第二景深位置和第三位置之間的第二中間位置;電子設備在第二中間位置和第二景深位置的范圍內,確定第四位置。
25、示例性的,參照圖7中的(2)所示,第二景深位置可以是后景深的位置,第二中間位置可以是1/2后景深的位置。
26、這樣,電子設備能夠在景深范圍內,距離后景深較近的位置處,確定攝像頭離焦時的焦點位置,從而進一步降低第二位置對應的第二幀中出現摩爾紋的可能,同時使得第二位置對應的第二幀具有較輕的模糊程度。
27、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備確定攝像頭馬達對應的第二位置,可以包括:電子設備根據第一位置和第一條件,確定第二位置的范圍;電子設備在第二位置的范圍內,確定第二位置。
28、其中,第一條件,也即預設距離閾值條件,可以是預先設定的對焦時攝像頭馬達位置與離焦時攝像頭馬達位置之間的距離的閾值條件。
29、這樣,電子設備能夠通過預設距離閾值條件,避免出現離焦時攝像頭馬達位置與對焦時攝像頭馬達位置距離太遠,導致第二位置對應的第二幀過于模糊的情況。
30、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備對第一幀和第二幀進行摩爾紋檢測,可以包括:電子設備對第一幀進行第一處理,得到第二幀對應的第三幀;電子設備對第三幀進行第二處理,得到第四幀;電子設備對第四幀進行第三處理,得到第一幀和第二幀的摩爾紋檢測結果。
31、其中,第三幀的數量和第二幀的數量相同。
32、具體的,第一處理可以是圖像模糊處理。第二處理可以包括圖像配準處理和圖像差異計算。第三處理可以包括顏色空間轉換、閾值分割和像素點分析。
33、其中,第三幀可以是模糊幀。第四幀可以是差異幀。
34、示例性的,參照圖8所示,在第二幀包括第一離焦幀和第二離焦幀時,第三幀可以包括第一模糊幀和第二模糊幀,第四幀可以包括第一差異幀、第二差異幀和第三差異幀。
35、這樣,電子設備通過對第一幀和第二幀的各種圖像處理,得到第一幀和第二幀的摩爾紋檢測結果,能夠準確的確定第一幀和第二幀中是否存在摩爾紋。
36、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備對第一幀進行第一處理,得到第二幀對應的第三幀,可以包括:電子設備確定第一幀對應的物距,和第二幀對應的物距之間的第一差值;電子設備確定第一差值對應的第一函數;電子設備將第一函數和第一幀進行卷積處理,得到第二幀對應的第三幀。
37、其中,第一函數,也即第一差值對應的點擴散函數。
38、示例性的,參照圖7中的(1)或(2)所示,第一幀對應的物距為u,第二幀對應的物距為u'。
39、這樣,電子設備通過將第一差值對應的點擴散函數和第一幀進行卷積處理,得到與第二幀對應的模糊幀,能夠將第一幀向著第二幀的模糊程度進行模糊,以使第二幀對應的模糊幀的模糊程度與第二幀的模糊程度接近,從而避免在圖像配準處理時由于摩爾紋影響配準效果。
40、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備確定第一差值對應的第一函數,可以包括:電子設備確定第一幀對應的第二函數;電子設備根據第一幀對應的物距和第二函數,確定目標函數和目標函數對應的目標距離;電子設備在目標距離中,查找第一目標距離;電子設備將與第一目標距離對應的第一目標函數,確定為第一差值對應的第一函數。
41、其中,第一目標距離與第一差值之間的差值小于差值閾值。
42、具體的,差值閾值可以是預先設定的、接近于0的數值。示例性的,差值閾值可以是0.5或0.3等,本技術對此不做限定。
43、其中,目標距離為基于第一幀對應的物距的偏移距離;目標函數和目標距離的數量為至少一個。
44、其中,第二函數,也即第一幀對應的點擴散函數。目標函數,可以是基于第一幀對應的點擴散函數標定的點擴散函數。
45、具體的,目標函數和目標距離是一一對應的。
46、示例性的,參照圖9a所示,在第一幀對應的點擴散函數為k1,且第一幀對應的物距為d1時,目標函數可以是標定點擴散函數k2、標定點擴散函數k3、或標定點擴散函數k4,目標距離可以是基于物距d1的偏移距離o2、基于物距d1的偏移距離o3、基于物距d1的偏移距離o4。
47、這樣,電子設備能夠準確的確定在對第一幀進行模糊處理時,模糊程度對應的點擴散函數。
48、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備對第三幀進行第二處理,得到第四幀,可以包括:電子設備對第三幀和第二幀進行配準處理,得到第三幀對應的第五幀;電子設備對第五幀、第三幀和/或第二幀進行差異計算,得到第四幀。
49、其中,第五幀的數量和第三幀的數量相同。
50、其中,第五幀可以是配準幀。
51、示例性的,參照圖8所示,在第二幀包括第一離焦幀和第二離焦幀時,第五幀可以包括第一配準幀和第二配準幀。
52、這樣,電子設備通過對各圖像幀進行配準處理、差異計算,得到不同圖像幀之間的差異圖像幀,能夠清晰的將圖像中的摩爾紋展現出來。
53、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備在第二幀的數量為多個時,對第三幀和第二幀進行配準處理,可以包括:電子設備將第二幀和與第二幀對應的第三幀進行配準處理。
54、具體的,在第二幀的數量為多個時,每個第二幀都有與其對應的第三幀,將各個第二幀和與其對應的第三幀進行配準處理。
55、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備在第二幀的數量為多個時,對第五幀、第三幀和/或第二幀進行差異計算,可以包括:電子設備對各第二幀進行差異計算,或者,對各第三幀進行差異計算;電子設備對第三幀和與第三幀對應的第五幀進行差異計算。
56、示例性的,參照圖11中的(1)或(2)所示,電子設備可以對模糊幀和與模糊幀對應的配準幀進行差異計算。
57、示例性的,參照圖11中的(3)所示,在離焦幀包括第一離焦幀和第二離焦幀、模糊幀包括第一模糊幀和第二模糊幀時,電子設備可以對第一離焦幀和第二離焦幀進行差異計算?;蛘?,參照圖11中的(4)所示,電子設備可以對第一模糊幀和第二模糊幀進行差異計算。
58、這樣,電子設備通過對各圖像幀進行差異計算,能夠更清晰的將圖像中的摩爾紋展現出來。
59、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備對第四幀進行第三處理,得到第一幀和第二幀的摩爾紋檢測結果,可以包括:電子設備對第四幀進行顏色空間轉換,得到第六幀;電子設備對第六幀進行閾值分割以及像素點分析,得到第一幀和第二幀的摩爾紋檢測結果。
60、其中,第六幀為lch顏色空間的圖像幀。第六幀的數量和第四幀的數量相同。
61、具體的,第四幀為srgb顏色空間的圖像幀。
62、具體的,對第四幀進行顏色空間轉換,可以包括將srgb顏色空間的圖像幀,先轉換為rgb顏色空間的圖像幀,再轉換為lab顏色空間的圖像幀,最后轉換為lch顏色空間的圖像幀。
63、這樣,電子設備通過對差異幀進行顏色空間轉換、閾值分析、像素點分析,能夠進一步提高第一幀和第二幀的摩爾紋檢測結果的準確性。
64、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備對第六幀進行閾值分割以及像素點分析,可以包括:電子設備確定第六幀中各像素點的第一值和第二值;電子設備將第一值和/或第二值滿足第二條件的像素點進行分割;電子設備在像素點分割后的圖像幀中,確定像素點數量滿足第三條件的區(qū)域,并在區(qū)域的數量滿足第四條件時,確定第四幀對應的第二幀和第一幀存在摩爾紋;電子設備在區(qū)域的數量未滿足第四條件時,確定第四幀對應的第一幀和/或第二幀不存在摩爾紋。
65、其中,第一值可以是像素點在c顏色空間的數值。第二值可以是像素點在h顏色空間的數值。
66、其中,第二條件可以是預先設定的對像素點進行分割的條件。
67、具體的,第二條件,包括像素點的第一值或第二值,是否大于第六幀中各像素點的第一值或第二值的平均值,或者,像素點的第一值或第二值,是否大于第六幀中各像素點的第一值或第二值的中值。
68、其中,第三條件可以是在像素點分割后的圖像幀中,摩爾紋連同區(qū)域的像素點數量是否大于預先設定的像素點數量。
69、具體的,區(qū)域是指摩爾紋連同區(qū)域。
70、其中,第四條件可以是在像素點分割后的圖像幀中,摩爾紋連同區(qū)域的數量是否大于預先設定的摩爾紋連同區(qū)域數量。
71、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備在第二幀的數量為一個時,根據第一幀和第二幀確定目標幀,或者,根據第二幀確定目標幀,可以包括:電子設備在第二幀存在摩爾紋時,將第一幀和第二幀進行圖像融合,得到目標幀;電子設備在第二幀不存在摩爾紋時,將第二幀確定為目標幀。
72、示例性的,圖像融合,例如可以是多幀間的中值濾波。
73、這樣,電子設備能夠在第二幀的數量為一個時,根據第二幀是否存在摩爾紋確定目標幀,以去除圖像幀的摩爾紋,或者獲取沒有摩爾紋的圖像幀。
74、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備在第二幀的數量為多個時,根據第一幀和第二幀確定目標幀,或者,根據第二幀確定目標幀,可以包括:電子設備在各第二幀都存在摩爾紋時,將第一幀和第二幀進行圖像融合,得到目標幀;電子設備在各第二幀中包括一個不存在摩爾紋的第二幀時,將不存在摩爾紋的第二幀確定為目標幀;電子設備在各第二幀中包括多個不存在摩爾紋的第二幀時,將各不存在摩爾紋的第二幀中的一個確定為目標幀,或者,將各不存在摩爾紋的第二幀進行圖像融合得到目標幀。
75、這樣,電子設備能夠在第二幀的數量為多個時,根據第二幀是否存在摩爾紋確定目標幀,以去除圖像幀的摩爾紋,或者獲取沒有摩爾紋的圖像幀。
76、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備對目標幀進行像差解算,得到與目標操作對應的拍攝幀,可以包括:電子設備確定目標幀對應的第三函數;電子設備根據目標幀和目標幀對應的第三函數,確定傅里葉域的目標幀和傅里葉域的第三函數;電子設備根據傅里葉域的目標幀和傅里葉域的第三函數,確定傅里葉域的拍攝幀;電子設備對傅里葉域的拍攝幀進行傅里葉逆變換,得到與目標操作對應的拍攝幀。
77、其中,第三函數,可以是目標幀對應的點擴散函數。
78、具體的,傅里葉域的目標幀和傅里葉域的第三函數進行反卷積處理,即可得到傅里葉域的拍攝幀。
79、這樣,電子設備通過像差解算,能夠恢復離焦幀中的高頻細節(jié),或者恢復融合后的圖像幀中摩爾紋區(qū)域的細節(jié)損失。
80、根據第一方面,或者以上第一方面的任意一種實現方式,電子設備確定目標幀對應的第三函數,包括:電子設備確定第一幀對應的第二函數,和第二幀對應的第四函數;電子設備在目標幀由第一幀和第二幀確定時,將第二函數和第四函數的平均函數,確定為第三函數;電子設備在目標幀由一個第二幀確定時,將第四函數,確定為第三函數;電子設備在目標幀由多個第二幀確定時,將各第四函數的平均函數,確定為第三函數。
81、其中,第三函數,可以是第二幀對應的點擴散函數。
82、第二方面,本技術實施例提供一種電子設備。該電子設備包括:一個或多個處理器;存儲器;以及一個或多個計算機程序,其中一個或多個計算機程序存儲在存儲器上,當計算機程序被一個或多個處理器執(zhí)行時,使得電子設備執(zhí)行第一方面以及第一方面中任意一項的拍攝方法。
83、第二方面以及第二方面的任意一種實現方式分別與第一方面以及第一方面的任意一種實現方式相對應。第二方面以及第二方面的任意一種實現方式所對應的技術效果可參見上述第一方面以及第一方面的任意一種實現方式所對應的技術效果,此處不再贅述。
84、第三方面,本技術實施例提供一種計算機可讀存儲介質。該計算機可讀存儲介質包括計算機程序,當計算機程序在電子設備上運行時,使得電子設備執(zhí)行第一方面以及第一方面中任意一項的拍攝方法。
85、第三方面以及第三方面的任意一種實現方式分別與第一方面以及第一方面的任意一種實現方式相對應。第三方面以及第三方面的任意一種實現方式所對應的技術效果可參見上述第一方面以及第一方面的任意一種實現方式所對應的技術效果,此處不再贅述。
86、第四方面,本技術實施例提供一種計算機程序產品,包括計算機程序,當計算機程序被運行時,使得計算機執(zhí)行如第一方面或第一方面中任意一項的拍攝方法。
87、第四方面以及第四方面的任意一種實現方式分別與第一方面以及第一方面的任意一種實現方式相對應。第四方面以及第四方面的任意一種實現方式所對應的技術效果可參見上述第一方面以及第一方面的任意一種實現方式所對應的技術效果,此處不再贅述。
88、第五方面,本技術提供了一種芯片,該芯片包括處理電路、收發(fā)管腳。其中,該收發(fā)管腳和該處理電路通過內部連接通路互相通信,該處理電路執(zhí)行如第一方面或第一方面中任意一項的拍攝方法,以控制接收管腳接收信號,以控制發(fā)送管腳發(fā)送信號。
89、第五方面以及第五方面的任意一種實現方式分別與第一方面以及第一方面的任意一種實現方式相對應。第五方面以及第五方面的任意一種實現方式所對應的技術效果可參見上述第一方面以及第一方面的任意一種實現方式所對應的技術效果,此處不再贅述。