欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于截圖的方法、裝置及終端設備與流程

文檔序號:12722665閱讀:139來源:國知局
用于截圖的方法、裝置及終端設備與流程

本申請涉及自動化測試技術領域,具體而言,涉及用于截圖的方法、裝置及終端設備。



背景技術:

在軟件自動化測試技術領域,相關技術中,自動錄制腳本的過程基本包括:用戶對設備的操作,自動識別用戶操作,實時生成對應操作的腳本,同時自動截取操作位置的圖像保存到腳本中,將截圖文件路徑作為腳本參數(shù)?;貧w腳本的原理是將腳本中的截圖與設備當前的畫面進行圖像匹配,從而定位操作位置,并在該位置執(zhí)行相應的操作。

由于測試腳本可能需要在不同分辨率的手機下分別運行,不同分辨率的終端對應的畫面可能對應著比較大的背景差異,如果在截圖中包含比較多背景的話,那么截圖與手機畫面進行圖像匹配時,匹配結(jié)果的相似度會受到較大影響。

對于兩種不同分辨率的終端設備,其分辨率和所處的不同場景,導致畫面會有較大的區(qū)別,例如圖1和圖2所述的場景。如果使用固定尺寸的截圖圖像,那么對于小按鈕、操作圖標等圖像的截圖背景差異很大,例如從圖1中提取的截圖為圖3,從圖2中提取的截圖為圖4。在判定截圖的相似度時,較多的背景差異,將會導致相似度較低。

可以看出,如果將錄制腳本時的自動截圖方式,設定為固定區(qū)域大小截圖,可能導致截圖中含有較多的無關區(qū)域,對于小按鈕、文字類型的操作圖標,截圖包含過多無關區(qū)域,無法保證截圖的精確性。如果自動截圖不合適或者截圖效果不理想,將需要使用者進行手動截圖,增加了人工成本,導致測試腳本生成成本升高。



技術實現(xiàn)要素:

本申請公開用于截圖的方法,能夠有效獲取操作位置的精確截圖,避免了大量無效的無關背景信息,相對于固定區(qū)域截圖顯著減少了截圖誤差。

本發(fā)明的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本發(fā)明的實踐而習得。

根據(jù)本發(fā)明的一個方面,提供一種用于截圖的方法,包括:

實時獲取終端的屏幕圖像;

根據(jù)所述屏幕圖像的紋理信息對所述屏幕圖像進行處理,自動提取至少一個連通區(qū)域;從所述至少一個連通區(qū)域中找到操作點所在的連通區(qū)域,根據(jù)所述連通區(qū)域進行截圖。

根據(jù)一些實施例,根據(jù)所述屏幕圖像的紋理信息對所述屏幕圖像進行處理,自動提取至少一個連通區(qū)域,包括:

將所述屏幕圖像轉(zhuǎn)換成灰度圖像,獲取所述灰度圖像的邊緣二值化圖像;

根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖,根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域。

根據(jù)一些實施例,根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖包括:對所述邊緣二值化圖像進行圖像膨脹以及圖像腐蝕處理得到連通區(qū)域分布圖。

申請的實施例提供的技術方案,根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域包括:

根據(jù)所述連通區(qū)域分布圖使用最小外接矩形、最小外接橢圓、最小外接圓形、最大內(nèi)接矩形、最大內(nèi)接圓形、最大內(nèi)接橢圓中的至少一種方式提取至少一個連通區(qū)域。

根據(jù)一些實施例,獲取所述灰度圖像的邊緣二值化圖像包括:

對所述灰度圖像進行邊緣提取得到邊緣信息,將所述邊緣信息通過自適應閾值進行二值化處理得到邊緣二值化圖像。

根據(jù)一些實施例,對所述灰度圖像進行邊緣提取得到邊緣信息包括:基于Laplacian算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,對所述灰度圖像進行邊緣提取得到邊緣信息包括:基于Sobel-x算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,對所述灰度圖像進行邊緣提取得到邊緣信息包括:基于Sobel-y算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,對所述灰度圖像進行邊緣提取得到邊緣信息包括:基于Sobel-x-y算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,對所述灰度圖像進行邊緣提取得到邊緣信息包括:基于Canny算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,在進行截圖之后還包括對得到的截圖進行校驗。

根據(jù)一些實施例,所述校驗包括:校驗所述截圖的長寬比例是否滿足設定比例。

根據(jù)一些實施例,所述校驗包括:校驗所述截圖的尺寸是否滿足設定尺寸范圍。

根據(jù)一些實施例,在進行校驗之后還包括:若所述截圖不符合預設規(guī)則,則采用固定尺寸重新截圖或根據(jù)用戶操作重新截圖。

根據(jù)本發(fā)明的另一方面,提供一種用于截圖的裝置,其包括

包括屏幕圖像獲取單元、連通區(qū)域提取單元、以及截圖單元,其中:

所述屏幕圖像獲取單元用于,實時獲取終端的屏幕圖像;

所述連通區(qū)域提取單元用于,根據(jù)所述屏幕圖像的紋理信息對所述屏幕圖像進行處理,自動提取至少一個連通區(qū)域;所述截圖單元用于,從所述至少一個連通區(qū)域中找到操作點所在的連通區(qū)域,根據(jù)所述連通區(qū)域進行截圖。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:將所述屏幕圖像轉(zhuǎn)換成灰度圖像,獲取所述灰度圖像的邊緣二值化圖像;

根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖,根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:對所述邊緣二值化圖像進行圖像膨脹以及圖像腐蝕處理得到連通區(qū)域分布圖。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:根據(jù)所述連通區(qū)域分布圖使用最小外接矩形、最小外接橢圓、最小外接圓形、最大內(nèi)接矩形、最大內(nèi)接圓形、最大內(nèi)接橢圓中的至少一種方式提取至少一個連通區(qū)域。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:

對所述灰度圖像進行邊緣提取得到邊緣信息,將所述邊緣信息通過自適應閾值進行二值化處理得到邊緣二值化圖像。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:基于Laplacian算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,對所述灰度圖像進行邊緣提取得到邊緣信息包括:基于Sobel-x算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:基于Sobel-y算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:基于Sobel-x-y算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,所述連通區(qū)域提取單元用于:基于Canny算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)一些實施例,所述裝置還包括校驗單元,用于在進行截圖之后對得到的截圖進行校驗。

根據(jù)一些實施例,所述校驗單元用于:校驗所述截圖的長寬比例是否滿足設定比例。

根據(jù)一些實施例,所述校驗單元用于:校驗所述截圖的尺寸是否滿足設定尺寸范圍。

根據(jù)一些實施例,所述截圖單元還用于:在進行校驗之后,若所述截圖不符合預設規(guī)則,則采用固定尺寸重新截圖或根據(jù)用戶操作重新截圖。

根據(jù)本發(fā)明的另一方面,提供一種終端設備,包括:處理器;存儲器,存儲用于處理器控制如上述第一方面任一項所述的操作的指令。

本申請的實施例提供的技術方案可以包括以下有益效果:

本申請的實施例提供的技術方案能夠有效獲取操作位置的精確截圖,避免了大量無效的無關背景信息,顯著減少了固定區(qū)域截圖帶來的大量截圖誤差。應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本發(fā)明。

附圖說明

通過參照附圖詳細描述其示例實施例,本發(fā)明的上述和其它特征及優(yōu)點將變得更加明顯。

圖1示出了相關技術中終端在一種場景下的截屏圖像;

圖2示出了相關技術中終端在另一種場景下的截屏圖像;

圖3示出了相關技術中在圖1所示的截屏圖像中按照固定大小自動截取的圖像;

圖4示出了相關技術中在圖2所示的截屏圖像中按照固定大小自動截取的圖像;

圖5示出了根據(jù)本發(fā)明一實施例的用于截圖的方法;

圖6示出了根據(jù)本發(fā)明另一實施例的用于截圖的方法;

圖7示出了根據(jù)本發(fā)明另一實施例的自動區(qū)域截圖的方法;

圖8示出了根據(jù)本發(fā)明一實施例的示例所述的原始灰度圖;

圖9示出了根據(jù)本發(fā)明一實施例的示例所述的二值化圖像;

圖10示出了根據(jù)本發(fā)明一實施例的示例所述的初次圖像膨脹后的結(jié)果圖;

圖11示出了根據(jù)本發(fā)明一實施例的示例所述的圖像腐蝕后的結(jié)果圖;

圖12示出了根據(jù)本發(fā)明一實施例的示例所述的二次圖像膨脹后的結(jié)果圖;

圖13示出了根據(jù)本發(fā)明一實施例的示例所述的輪廓提取獲取圖像中獨立輪廓圖;

圖14示出了根據(jù)本發(fā)明一實施例的示例所述的包含操作點的輪廓圖;

圖15示出了根據(jù)圖14的操作點得到的目標截圖;

圖16示出了根據(jù)本發(fā)明一實施例的示例所述的包含操作點的輪廓圖;

圖17示出了根據(jù)圖16的操作點得到的目標截圖;

圖18示出了根據(jù)本發(fā)明一實施例的示例所述的包含操作點的輪廓圖;

圖19示出了根據(jù)圖18的操作點得到的目標截圖;

圖20示出了根據(jù)本發(fā)明一實施例的示例所述的手動截圖示意圖;

圖21示出了根據(jù)本發(fā)明一實施例的用于截圖的裝置的框圖;

圖22示出了根據(jù)本發(fā)明一實施例的終端設備。

具體實施方式

現(xiàn)在將參考附圖更全面地描述示例實施例。然而,示例實施例能夠以多種形式實施,且不應被理解為限于在此闡述的實施例;相反,提供這些實施例使得本發(fā)明將全面和完整,并將示例實施例的構(gòu)思全面地傳達給本領域的技術人員。在圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。

此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個或更多實施例中。在下面的描述中,提供許多具體細節(jié)從而給出對本發(fā)明的實施例的充分理解。然而,本領域技術人員將意識到,可以實踐本發(fā)明的技術方案而沒有特定細節(jié)中的一個或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細示出或描述公知方法、裝置、實現(xiàn)或者操作以避免模糊本發(fā)明的各方面。

附圖中所示的方框圖僅僅是功能實體,不一定必須與物理上獨立的實體相對應。即,可以采用軟件形式來實現(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。

附圖中所示的流程圖僅是示例性說明,不是必須包括所有的內(nèi)容和操作/步驟,也不是必須按所描述的順序執(zhí)行。例如,有的操作/步驟還可以分解,而有的操作/步驟可以合并或部分合并,因此實際執(zhí)行的順序有可能根據(jù)實際情況改變。

圖5示出了根據(jù)本發(fā)明一實施例的用于截圖的方法,本實施例可適用于在自動化測試中自動獲取操作控件的截圖的情況,如圖5所示,本實施例所述的用于截圖的方法包括:

在步驟S510中,實時獲取終端的屏幕圖像。

即在對終端進行操作時,通過對終端截屏獲取實時的屏幕圖像。

在步驟S520中,根據(jù)所述屏幕圖像的紋理信息對所述屏幕圖像進行處理,自動提取至少一個連通區(qū)域。

該步驟可通過多種方式實現(xiàn),例如可將所述屏幕圖像轉(zhuǎn)換成灰度圖像,獲取所述灰度圖像的邊緣二值化圖像,再根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖,根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域。

其中,對所述灰度圖像進行邊緣提取得到邊緣信息可通過多種方法實現(xiàn),本實施例對此不作限定,例如可基于Laplacian算子的邊緣提取方法、基于Sobel-x算子的邊緣提取方法、基于Sobel-y算子的邊緣提取方法、基于Sobel-x-y算子的邊緣提取方法、或基于Canny算子的邊緣提取方法等均可以實現(xiàn)對所述灰度圖像進行邊緣提取得到邊緣信息。

獲取所述灰度圖像的邊緣二值化圖像可通過多種方法實現(xiàn),本實施例對此不作限定,例如可對所述灰度圖像進行邊緣提取得到邊緣信息,將所述邊緣信息通過自適應閾值進行二值化處理得到邊緣二值化圖像。

對于根據(jù)所述邊緣二值化圖像得到至少一個連通區(qū)域來說,根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖可通過對所述邊緣二值化圖像進行圖像膨脹以及圖像腐蝕處理得到連通區(qū)域分布圖。例如對所述邊緣二值化圖像進行圖像膨脹、腐蝕、二次膨脹等操作提取至少一個連通區(qū)域。根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域可具體地根據(jù)所述連通區(qū)域分布圖使用最小外接矩形、最小外接橢圓、最小外接圓形、最大內(nèi)接矩形、最大內(nèi)接圓形、最大內(nèi)接橢圓中的至少一種方式提取至少一個連通區(qū)域。

在步驟S530中,從所述至少一個連通區(qū)域中找到操作點所在的連通區(qū)域,根據(jù)所述連通區(qū)域進行截圖。

需要說明的是,若操作點剛好在一個連通區(qū)域內(nèi),則將該連通區(qū)域內(nèi)的圖像作為截圖;若操作點被多個連通區(qū)域包圍,則取面積最小的連通區(qū)域內(nèi)的圖像作為截圖;若操作點位置不在任何一個連通區(qū)域內(nèi),則從操作點按照固定區(qū)域大小進行截圖。

進一步地,為了進一步提高截圖的精確度,在進行截圖之后還可對得到的截圖進行校驗。若所述截圖不符合預設規(guī)則,可采用固定尺寸重新截圖或根據(jù)用戶操作重新截圖。其中,具體校驗可包括多種,例如長寬比例校驗,校驗所述截圖的長寬比例是否滿足設定比例,或者尺寸校驗,校驗所述截圖的尺寸是否滿足設定尺寸范圍,或者既進行長寬比例校驗也進行尺寸校驗。

本實施例通過將屏幕圖像轉(zhuǎn)換成灰度圖像,獲取所述灰度圖像的邊緣二值化圖像,根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖,根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域,從所述至少一個連通區(qū)域中找到操作點所在的連通區(qū)域,根據(jù)所述連通區(qū)域進行截圖。能夠有效獲取操作位置的精確截圖,避免了大量無效的無關背景信息,顯著減少了固定區(qū)域截圖帶來的大量截圖誤差。

圖6示出了根據(jù)本發(fā)明另一實施例的用于截圖的方法,用戶進行連續(xù)的實際操作,自動截圖功能是在電腦的后臺進程中根據(jù)用戶操作實時進行的。整個自動截圖方法流程圖如圖6所示,本實施例所述的用于截圖的方法包括:

在步驟S610中,接收用戶的設備操作。

在步驟S620中,對屏幕進行實時截圖。

在步驟S630中,根據(jù)用戶操作在屏幕截圖上進行自動區(qū)域截圖。

在步驟S640中,對截圖進行校驗。若截圖校驗成功,執(zhí)行步驟S660獲取該截圖以作為結(jié)果截圖,若截圖校驗失敗,則執(zhí)行步驟S650。

在步驟S650中,若截圖校驗失敗,重新根據(jù)用戶操作在屏幕截圖上進行固定區(qū)域大小截圖。

在步驟S660中,獲取截圖作為結(jié)果截圖。

其中,“自動區(qū)域截圖”的方法如圖7所示,本實施例所述的自動截圖的方法包括:

在步驟S710中,獲取用戶操作時刻的屏幕圖像。

在步驟S720中,將屏幕圖像轉(zhuǎn)換為灰度圖。

在對設備進行操作時,通過對設備截屏獲取實時屏幕畫面,并將其轉(zhuǎn)換成為灰度圖像,圖8示出了根據(jù)本發(fā)明一實施例的示例所述的原始灰度圖,如圖8所示。

因為彩色圖像為三通道圖像,其本質(zhì)是一個二維的rgb數(shù)值矩陣,其每個像素點為rgb的組合值如(50,250,155),而非一個簡單的數(shù)字,此時進行圖像處理時比較麻煩,所以要轉(zhuǎn)換為灰度圖像,以方便后續(xù)的圖像算法處理。

灰度圖像就是一個二維數(shù)字矩陣,其每個像素點就是一個0-255的值,類似于:[[0,255,120,250],[0,120,255,250],[0,120,255,250]]。

在步驟S730中,提取圖像邊緣信息獲取邊緣二值化圖像。

由步驟S720中獲得的灰度圖像求出圖像邊緣信息,然后將圖像邊緣信息進行一次二值化處理。

二值化處理的目的在于:在進行邊緣信息提取時,仍為灰度圖像,通過自適應閾值二值化,將邊緣灰度圖像,轉(zhuǎn)化為0-1類型圖像(非黑即白),可以直接通過圖像區(qū)域的0-1屬性來判定圖像區(qū)域是否為同一屬性。

二值化處理后,是根據(jù)原圖像中的邊緣信息,可以將有效操作區(qū)域和背景區(qū)域區(qū)分開。在這一過程中,有多種圖像邊緣提取的方法可供選擇,例如可基于Laplacian算子的邊緣提取方法、基于Sobel-x算子的邊緣提取方法、基于Sobel-y算子的邊緣提取方法、基于Sobel-x-y算子的邊緣提取方法、或基于Canny算子的邊緣提取方法等均可以實現(xiàn)對所述灰度圖像進行邊緣提取得到邊緣信息。

需要說明的是,本步驟用于分析圖像,將圖像中的邊緣、紋理信息使用清晰化的黑白區(qū)域進行表述。若不同的邊緣紋理區(qū)塊之間分離得越好,越有利于后續(xù)處理。本實施例中選用sobel-x算子的邊緣提取方法對圖8所示的灰度圖像進行邊緣提取得到圖9所示的邊緣二值化圖像。

在步驟S740中,將邊緣二值化圖像進行圖像膨脹和腐蝕得到連通區(qū)域。

圖像腐蝕和圖像膨脹是處理二值化圖像常用的方法。屬于形態(tài)學的常用方法。步驟S730中已經(jīng)根據(jù)邊緣信息求出圖像邊緣二值化圖像,本步驟中需要將這些邊緣信息進一步凸顯化,通過圖像膨脹將臨近的區(qū)域進行合并,減小步驟S730中二值圖像區(qū)域的碎片化情況;通過圖像腐蝕將孤立的白色邊緣點消除掉,避免造成過多的連通區(qū)域。通過多次圖像腐蝕-圖像膨脹,獲取理想的區(qū)域連通圖。

圖10示出了根據(jù)圖9所示的邊緣二值化圖像進行初次圖像膨脹后的結(jié)果圖,圖11示出了根據(jù)圖9得到的結(jié)果圖進行的圖像腐蝕后的結(jié)果圖,圖12示出了根據(jù)圖11得到的結(jié)果圖進行二次圖像膨脹后的結(jié)果圖。

在上述附圖中,可以看到,圖9中的原始的二值化圖像通過初次圖像膨脹,將相近的二值化邊緣信息進行了初步連通,得到了基本連通圖像如圖10所示。對圖10所示的基本連通圖像進行一次圖像腐蝕,將一些較小的孤立連通區(qū)域進行了去除,得到了腐蝕圖像如圖11所示。對圖11所示的圖像再次進行圖像膨脹,得到較為理想的連通區(qū)域分布圖如圖12所示,圖12所示的圖像即為得到的連通區(qū)域分布圖,可視為基本的輪廓連通圖。

這里的連通區(qū)域,均對應著原來的設備截屏圖像中的相鄰的邊緣信息擴張連通起來的區(qū)域,也就是位于同一邊緣內(nèi)的區(qū)域,符合本實施例開始時描述的使用場景,可用于獲取對操作位置附近的連通區(qū)域。

需要說明的是,腐蝕是一種消除邊界點,使邊界向內(nèi)部收縮的過程??梢杂脕硐∏覠o意義的物體。膨脹是將與物體接觸的所有背景點合并到該物體中,使邊界向外部擴張的過程。可以用來填補物體中的空洞。

先腐蝕后膨脹的過程稱為開運算。用來消除小物體、在纖細點處分離物體、平滑較大物體的邊界的同時并不明顯改變其面積。先膨脹后腐蝕的過程稱為閉運算。用來填充物體內(nèi)細小空洞、連接鄰近物體、平滑其邊界的同時并不明顯改變其面積。

本實施例在步驟S740中,使用膨脹-腐蝕-膨脹的方法進行圖像處理。其實就是進行一次“閉運算-開運算”的運算過程。在實際的使用過程中,可以重復進行多次“閉運算-開運算”的過程,以得到最合適的二值化區(qū)域圖像。具體膨脹和腐蝕的次數(shù)和順序本實施例對此不作限定,均包括在本實施例公開的范圍之內(nèi)。

在步驟S750中,獲取精確區(qū)域。

在步驟S740中獲取到基本的連通區(qū)域后,可以利用形態(tài)學上的輪廓提取,來框選出各個不同的獨立輪廓??梢允褂米钚⊥饨泳匦?、最小外接橢圓、最小外接圓形、最大內(nèi)接矩形、最大內(nèi)接圓形、最大內(nèi)接橢圓的方式對二值化輪廓進行輪廓提取。按照本發(fā)明中精確截圖的使用場景,選擇使用最小外接矩形進行提取連通區(qū)域。

圖12為在步驟S750中得到的精確連通圖,圖13為使用最小外接矩形提取出獨立輪廓,并使用相同的輪廓在原始的設備截屏上繪制的結(jié)果(對過小區(qū)域和尺寸異常的區(qū)域進行了過濾)。

在步驟S760中,獲取截圖。

根據(jù)操作點的位置,從步驟S750中得到的矩形輪廓區(qū)域中,找到操作點所在的輪廓區(qū)域,即為精確截圖的區(qū)域,對該區(qū)域進行圖片截取,即可得到目標截圖。

如圖14中所示,本實施例中操作者在設備屏幕界面中操作位置為黑色點處(如圖14左側(cè)第三個方框內(nèi)所示的黑色點所示),剛好在某個提取到的矩形輪廓內(nèi),對對應的區(qū)域進行截圖,即為圖15所得截圖:

本實施例也有異常情況需要考慮,操作點有可能沒有包含于任何提取出的區(qū)域內(nèi)。比如圖16中操作點(如圖16左上部分第二個方框內(nèi)的黑色點所示)可能被多重矩形包圍的情況,取面積最小的矩形為目標截圖(最內(nèi)層的區(qū)域)如圖17所示。

另外,如圖18所示,如果操作點位置(如圖18左上方所示的黑色點所示)不在提取出區(qū)域內(nèi),則選擇直接從操作點按照前面介紹的固定區(qū)域大小進行截圖,結(jié)果如圖19所示。

以上部分即為“自動區(qū)域截圖”的基本流程和實際處理圖像的細節(jié)呈現(xiàn)。在完成自動區(qū)域截圖后,并不能確保所得到的截圖就是非常精確的截圖,因此需要進行截圖校驗。校驗規(guī)則與使用場景有關,本發(fā)明中設定兩種校驗規(guī)則:長寬比異常,尺寸異常。

校驗規(guī)則包括多種,例如可采用如下方式校驗:

方式一、進行長寬比例校驗,寬高比超過10:1,或者高寬比超過10:1,判定為長寬比異常;

方式二、進行尺寸校驗,截圖的高超過設備截屏的50%,或者截圖的寬超過設備截屏的50%,判定為尺寸異常。

校驗規(guī)則異常的處理方案:轉(zhuǎn)用固定尺寸進行截圖。設定截圖固定寬度為2w,截圖固定高度為2h,以操作點為中心,左右分別擴展w距離,上下分別擴展距離,如果擴展超出設備屏幕的邊緣,則截取至對應邊緣處為止,將該范圍內(nèi)的矩形圖像作為目標截圖。

在自動截圖流程得到的截圖如果效果不好,則在自動截圖結(jié)束后需要響應人工手動截圖操作進行截圖。

圖20示出了根據(jù)本發(fā)明一實施例的示例所述的手動截圖示意圖,以截圖均為矩形圖像為例,具體實現(xiàn)為:截圖區(qū)域在設備中有4個角點A B C D點,用戶有四種截圖操作方式可選:

①從A點對設備執(zhí)行按下操作,從C點對設備執(zhí)行抬起操作;

②從C點對設備執(zhí)行按下操作,從A點對設備執(zhí)行抬起操作;

③從B點對設備執(zhí)行按下操作,從D點對設備執(zhí)行抬起操作;

④從D點對設備執(zhí)行按下操作,從B點對設備執(zhí)行抬起操作;

在用戶完成截圖操作時,兩個操作點相對于圖片的左上角,橫坐標分別為x1,x2,操作點的縱坐標分別為y1,y2,則將x1至x2和y1至y2的范圍內(nèi)的矩形區(qū)域作為截圖結(jié)果。

通過圖像處理過程,先對整個截屏的獨立連通區(qū)域進行提取,然后結(jié)合操作點的位置取出精確的操作點所在的連通區(qū)域。在自動獲取精確聯(lián)通區(qū)域失敗時,轉(zhuǎn)用固定大小進行截圖的方法,保證能夠自動獲取截圖。在自動獲取截圖不理想的情況下,提供手動截圖功能。

本實施例通過操作位置的連通區(qū)域提取和截圖,可以在伴隨操作自動生成截圖的應用場景中,有效獲取操作位置的精確截圖,避免了大量無效的無關背景信息,顯著減少了固定區(qū)域截圖帶來的大量截圖誤差,有利于對自動截圖的結(jié)果進行后續(xù)處理。自動截圖出現(xiàn)規(guī)定的異常情況利用固定區(qū)域大小截圖,最大程度地保證截圖的有效性。在自動截圖不符合使用要求時,通過規(guī)定的手動截圖的方式進行截圖,保證截圖方法的完整性,和最終可用結(jié)果的產(chǎn)生。

圖21示出了根據(jù)本發(fā)明一實施例的用于截圖的裝置的框圖,如圖21所示,本實施例所述的用于截圖的裝置包括:屏幕圖像獲取單元2110、連通區(qū)域提取單元2120、以及截圖單元2130。

該屏幕圖像獲取單元2110被配置為,用于實時獲取終端的屏幕圖像;

該連通區(qū)域提取單元2120被配置為,用于根據(jù)所述屏幕圖像的紋理信息對所述屏幕圖像進行處理,自動提取至少一個連通區(qū)域;

該截圖單元2130被配置為,用于從所述至少一個連通區(qū)域中找到操作點所在的連通區(qū)域,根據(jù)所述連通區(qū)域進行截圖。

所述連通區(qū)域提取單元2120被配置為,用于將所述屏幕圖像轉(zhuǎn)換成灰度圖像,獲取所述灰度圖像的邊緣二值化圖像;

根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖,根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域。

根據(jù)本發(fā)明的一些實施例,所述連通區(qū)域提取單元2120用于:對所述邊緣二值化圖像進行圖像膨脹以及圖像腐蝕處理得到連通區(qū)域分布圖。

根據(jù)本發(fā)明的一些實施例,所述連通區(qū)域提取單元2120用于:根據(jù)所述連通區(qū)域分布圖使用最小外接矩形、最小外接橢圓、最小外接圓形、最大內(nèi)接矩形、最大內(nèi)接圓形、最大內(nèi)接橢圓中的至少一種方式提取至少一個連通區(qū)域。

根據(jù)本發(fā)明的一些實施例,所述連通區(qū)域提取單元2120用于:

對所述灰度圖像進行邊緣提取得到邊緣信息,將所述邊緣信息通過自適應閾值進行二值化處理得到邊緣二值化圖像。

根據(jù)本發(fā)明的一些實施例,所述連通區(qū)域提取單元2120用于:

基于Laplacian算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息;或

基于Sobel-x算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息;或

基于Sobel-y算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息;或

基于Sobel-x-y算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息;或

基于Canny算子的邊緣提取方法對所述灰度圖像進行邊緣提取得到邊緣信息。

根據(jù)本發(fā)明的一些實施例,所述裝置還包括校驗單元(圖21中未示出),用于在進行截圖之后對得到的截圖進行校驗。

根據(jù)本發(fā)明的一些實施例,所述校驗單元用于:校驗所述截圖的長寬比例是否滿足設定比例。

根據(jù)本發(fā)明的一些實施例,所述校驗單元用于:校驗所述截圖的尺寸是否滿足設定尺寸范圍。

根據(jù)本發(fā)明的一些實施例,所述截圖單元還用于:在進行校驗之后,若所述截圖不符合預設規(guī)則,則采用固定尺寸重新截圖或根據(jù)用戶操作重新截圖。

關于上述實施例中的裝置,其中各個單元執(zhí)行操作的具體方式已經(jīng)在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。

本實施例提供的用于截圖的裝置可執(zhí)行本發(fā)明實施例一和實施例二所提供的用于截圖的方法,具備執(zhí)行方法相應的功能模塊和有益效果。

圖22示出了根據(jù)本發(fā)明一實施例的終端設備,如圖22所示,終端設備2200可包括處理器2210、存儲器2220、發(fā)射器2230及接收器2240。

存儲器2220可存儲用于處理器2210控制操作處理的指令。存儲器2220可包括易失性或非易失性存儲器,如靜態(tài)隨機存取存儲器(SRAM)、電可擦除可編程只讀存儲器(EEPROM)、可擦除可編程只讀存儲器(EPROM)、可編程只讀存儲器(PROM)、只讀存儲器(ROM)等,本發(fā)明對此沒有限制。

處理器2210可調(diào)用存儲器2220中存儲的指令控制相關操作。根據(jù)一實施例,存儲器2220存儲用于處理器2210控制上述用于截圖的方法的操作的指令。

例如實時獲取終端的屏幕圖像;將所述屏幕圖像轉(zhuǎn)換成灰度圖像,獲取所述灰度圖像的邊緣二值化圖像;根據(jù)所述邊緣二值化圖像獲取連通區(qū)域分布圖,根據(jù)所述連通區(qū)域分布圖提取至少一個連通區(qū)域;從所述至少一個連通區(qū)域中找到操作點所在的連通區(qū)域,根據(jù)所述連通區(qū)域進行截圖。

易于理解,存儲器2220還可存儲用于處理器2210控制根據(jù)本發(fā)明實施例的其他操作的指令,這里不再贅述。

處理器2210還可控制發(fā)射器2230和接收器2240進行信號收發(fā)等。

通過以上的詳細描述,本領域的技術人員易于理解,根據(jù)本發(fā)明實施例的系統(tǒng)和方法具有以下優(yōu)點中的一個或多個。

根據(jù)一些實施例,本發(fā)明還提供一種非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器,上述指令可由裝置的處理器執(zhí)行以完成上述方法。例如,非臨時性計算機可讀存儲介質(zhì)可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設備等。當存儲介質(zhì)中的指令由終端的處理器執(zhí)行時,使得終端能夠執(zhí)行下述方法:將腳本模塊中的原生資源名稱變換為原生資源ID;原生應用模塊通過原生資源ID獲取相應的原生資源。

本領域技術人員可以理解,附圖只是示例實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的,因此不能用于限制本發(fā)明的保護范圍。

本領域技術人員可以理解上述各模塊可以按照實施例的描述分布于裝置中,也可以進行相應變化唯一不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。

以上具體地示出和描述了本發(fā)明的示例性實施例。應該理解,本發(fā)明不限于所公開的實施例,相反,本發(fā)明意圖涵蓋包含在所附權(quán)利要求的精神和范圍內(nèi)的各種修改和等效布置。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
运城市| 都昌县| 建昌县| 连州市| 湘潭市| 喀喇沁旗| 华宁县| 类乌齐县| 天镇县| 县级市| 张家川| 普兰县| 彝良县| 苍南县| 石河子市| 固阳县| 土默特左旗| 万全县| 连江县| 桃源县| 潍坊市| 德昌县| 永川市| 福安市| 阿勒泰市| 平塘县| 类乌齐县| 巴马| 河曲县| 桐乡市| 安溪县| 孙吴县| 繁昌县| 新巴尔虎右旗| 威宁| 昌都县| 土默特右旗| 原平市| 宜阳县| 德清县| 江阴市|