一種圖像對(duì)象選取方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種圖像對(duì)象選取方法和裝置。
【背景技術(shù)】
[0002]計(jì)算機(jī)程序會(huì)在場(chǎng)景界面中向用戶(hù)展示各類(lèi)圖像對(duì)象,同時(shí)需要實(shí)現(xiàn)接收用戶(hù)針對(duì)這些圖像對(duì)象的選取操作,例如點(diǎn)擊或框選等,進(jìn)而根據(jù)該選取操作觸發(fā)后續(xù)的如彈出通知框、移動(dòng)圖像對(duì)象等事件。而現(xiàn)有的圖像對(duì)象選取方案中,對(duì)于如圖1所示的存在圖像對(duì)象重疊的場(chǎng)景,經(jīng)常會(huì)出現(xiàn)無(wú)法判斷選取對(duì)象,或出現(xiàn)得到的選取對(duì)象不是用戶(hù)期望選取的圖像對(duì)象的錯(cuò)誤結(jié)果。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明實(shí)施例提供一種圖像對(duì)象選取方法和裝置,可有效判斷圖像對(duì)象重疊時(shí)的被選取對(duì)象,提高選中用戶(hù)期望選取的圖像對(duì)象的準(zhǔn)確率。
[0004]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種圖像對(duì)象選取方法,所述方法包括:
[0005]獲取用戶(hù)在目標(biāo)場(chǎng)景中輸入的選取操作的選取位置;
[0006]獲取所述目標(biāo)場(chǎng)景中所述選取位置對(duì)應(yīng)的所有位圖對(duì)象;
[0007]根據(jù)所述位圖對(duì)象在所述選取位置的對(duì)應(yīng)像素的像素信息,判斷所述位圖對(duì)象在所述選取位置上是否為有效位圖對(duì)象;
[0008]將所述有效位圖對(duì)象中位于最上層的位圖對(duì)象確定為所述選取操作選中的對(duì)象。
[0009]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種圖像對(duì)象選取裝置,包括:
[0010]選取位置獲取模塊,用于獲取用戶(hù)在目標(biāo)場(chǎng)景中輸入的選取操作的選取位置;
[0011]位圖對(duì)象獲取模塊,用于獲取所述目標(biāo)場(chǎng)景中所述選取位置對(duì)應(yīng)的所有位圖對(duì)象;
[0012]有效對(duì)象判斷模塊,用于根據(jù)所述位圖對(duì)象在所述選取位置的對(duì)應(yīng)像素的像素信息,判斷所述位圖對(duì)象在所述選取位置上是否為有效位圖對(duì)象;
[0013]選取對(duì)象確定模塊,用于將所述有效位圖對(duì)象中位于最上層的位圖對(duì)象確定為所述選取操作選中的對(duì)象。
[0014]本實(shí)施例中通過(guò)判斷位圖對(duì)象在選取位置上是否有效,進(jìn)而將最上層的有效位圖對(duì)象確定為選取操作選中的對(duì)象,可確保選中的是目標(biāo)場(chǎng)景中的選取位置上用戶(hù)可見(jiàn)的圖像對(duì)象,從而提高選中用戶(hù)期望選取的圖像對(duì)象的準(zhǔn)確率。
【附圖說(shuō)明】
[0015]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是存在圖像對(duì)象重疊的場(chǎng)景示意圖;
[0017]圖2是本發(fā)明實(shí)施例中的一種圖像對(duì)象選取方法的流程示意圖;
[0018]圖3是本發(fā)明另一實(shí)施例中的一種圖像對(duì)象選取方法的流程示意圖;
[0019]圖4是本發(fā)明另一實(shí)施例中的一種圖像對(duì)象選取方法的流程示意圖;
[0020]圖5是本發(fā)明實(shí)施例中的一種圖像對(duì)象選取裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0022]本發(fā)明實(shí)施例中的圖像對(duì)象選取方法,可以由圖像對(duì)象選取裝置實(shí)施,其可以實(shí)現(xiàn)在如個(gè)人電腦、平板電腦、智能手機(jī)、電子閱讀器、車(chē)載終端或穿戴式智能設(shè)備等用戶(hù)終端中,其可以通過(guò)用戶(hù)終端的鼠標(biāo)、觸摸屏、觸控筆等輸入工具獲取用戶(hù)的選取操作。
[0023]圖2是本發(fā)明實(shí)施例中的一種圖像對(duì)象選取方法的流程示意圖,如圖所示本實(shí)施例中的圖像對(duì)象選取方法可以包括:
[0024]S201,獲取用戶(hù)在目標(biāo)場(chǎng)景中輸入的選取操作的選取位置。
[0025]具體的,本發(fā)明實(shí)施例中的目標(biāo)場(chǎng)景可以為程序操作界面、游戲場(chǎng)景界面、視頻畫(huà)面等,可以實(shí)現(xiàn)在如個(gè)人電腦、平板電腦、智能手機(jī)、電子閱讀器、車(chē)載終端或穿戴式智能設(shè)備等用戶(hù)終端中,尤其適用于基于Act1nScript開(kāi)發(fā)的Flash界面場(chǎng)景下,所述目標(biāo)場(chǎng)景中包括多個(gè)圖像對(duì)象。用戶(hù)在目標(biāo)場(chǎng)景中輸入的選取操作,可以為點(diǎn)擊操作,也可以為框選等區(qū)域選取操作,若為點(diǎn)擊操作,則所述選取位置為被點(diǎn)擊位置,若是區(qū)域選取操作,則選取位置為被選取的區(qū)域中的位置。
[0026]在可選實(shí)施例中,為了將選取位置與圖像對(duì)象放在同一個(gè)坐標(biāo)系下進(jìn)行比較和判斷,可以設(shè)定所述選取位置為全局坐標(biāo),例如圖像對(duì)象選取裝置首先獲取到用戶(hù)的選取操作的場(chǎng)景坐標(biāo)或稱(chēng)為本地坐標(biāo)(若點(diǎn)擊則為單點(diǎn)坐標(biāo),若區(qū)域選取則可以包括區(qū)域內(nèi)的多個(gè)點(diǎn)的坐標(biāo)),然后將該場(chǎng)景坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)或稱(chēng)為舞臺(tái)坐標(biāo),同時(shí)后續(xù)分析圖像對(duì)象時(shí)也根據(jù)圖像對(duì)象的全局坐標(biāo)進(jìn)行處理。
[0027]S202,獲取所述目標(biāo)場(chǎng)景中所述選取位置對(duì)應(yīng)的所有位圖對(duì)象(Bitmap)。
[0028]具體的,圖像對(duì)象選取裝置可以根據(jù)獲取到的用戶(hù)在目標(biāo)場(chǎng)景中輸入的選取操作的選取位置,獲取目標(biāo)場(chǎng)景中在所述選取位置下的所有位圖對(duì)象。在可選實(shí)施例中可以獲取目標(biāo)場(chǎng)景中所有位圖對(duì)象的響應(yīng)區(qū)域,進(jìn)而若位圖對(duì)象的響應(yīng)區(qū)域與所述選取位置存在重疊,則確認(rèn)該位圖對(duì)象為所述選取位置對(duì)應(yīng)的位圖對(duì)象,若所述選取位置為單點(diǎn)坐標(biāo),則該選取位置應(yīng)該在對(duì)應(yīng)的位圖對(duì)象的響應(yīng)區(qū)域內(nèi),若所述選取位置包括多個(gè)點(diǎn)的坐標(biāo),則該選取位置應(yīng)該與對(duì)應(yīng)的位圖對(duì)象的響應(yīng)區(qū)域至少部分重疊。
[0029]在可選實(shí)施例中,可以獲取所述目標(biāo)場(chǎng)景中所述選取位置對(duì)應(yīng)的所有顯示對(duì)象,進(jìn)而通過(guò)判斷其是否為位圖對(duì)象,在所述選取位置對(duì)應(yīng)的顯示對(duì)象中獲取所有位圖對(duì)象,例如可以使用Act1nScript提供的getObjectsUnderPoint方法,在所述目標(biāo)場(chǎng)景中獲取全局坐標(biāo)系下某一點(diǎn)下所有顯示對(duì)象集合,進(jìn)而用“is Bitmap “方法對(duì)該點(diǎn)下所有顯示對(duì)象集合進(jìn)行過(guò)濾,可以濾除如TextField文本區(qū)域?qū)ο?文本框)、Shape形狀對(duì)象等顯示對(duì)象,從而獲取Bitmap對(duì)象集合。
[0030]S203,根據(jù)所述位圖對(duì)象在所述選取位置的對(duì)應(yīng)像素的像素信息,判斷所述位圖對(duì)象在所述選取位置上是否為有效位圖對(duì)象。
[0031]具體的,所述位圖對(duì)象的響應(yīng)區(qū)域中并不是所有位置上的像素都是有效像素,若所述位圖對(duì)象在所述選取位置的對(duì)應(yīng)像素是有效像素,則可以判斷所述位圖對(duì)象在所述選取位置上為有效位圖對(duì)象,如若選取操作為點(diǎn)擊選取操作,位圖對(duì)象在該點(diǎn)擊坐標(biāo)上對(duì)應(yīng)像素是有效像素,則該位圖對(duì)象在所述選取位置上為有效位圖對(duì)象,否則為無(wú)效位圖對(duì)象;若選取操作為區(qū)域選取操作,位圖對(duì)象在被選取區(qū)域上的所有像素均為有效像素,則該位圖對(duì)象在所述選取位置上為有效位圖對(duì)象,若位圖對(duì)象在被選取區(qū)域上的所有像素均為無(wú)效像素,則該位圖對(duì)象在所述選取位置上為無(wú)效位圖對(duì)象,若位圖對(duì)象在被選取區(qū)域上的像素部分為有效像素,則在可選實(shí)施例中可以確定該位圖對(duì)象在所述選取位置上為有效位圖對(duì)象,或根據(jù)有效像素占在該被選區(qū)域上的所有像素的比例,判斷所述位圖對(duì)象在所述選取位置上是否為有效位圖對(duì)象。根據(jù)像素的像素信息判斷其是否為有效像素,可以根據(jù)該像素在目標(biāo)場(chǎng)景中是否可見(jiàn)或是否產(chǎn)生有效影響作為判斷,在可選實(shí)施例中,可以根據(jù)像素的透明度判斷其是否為有效像素,若像素為完全透明,則其顯然在目標(biāo)場(chǎng)景中是不可見(jiàn)的,也不能產(chǎn)生有效影響,則可以確認(rèn)該像素是無(wú)效像素。進(jìn)而考慮到有些圖像對(duì)象自身為了美術(shù)效果帶有一定的透明度,因而可以設(shè)置一個(gè)預(yù)設(shè)閾值,通過(guò)將像素的透明度與該預(yù)設(shè)閾值進(jìn)行比較的結(jié)果判斷該像素是否無(wú)效像素,即根據(jù)所述位圖對(duì)象在所述選取位置的對(duì)應(yīng)像素的透明度與預(yù)設(shè)閾值的比較結(jié)果,判斷所述位圖對(duì)象在所述選取位置上是否為有效位圖對(duì)象。
[0032]在可選實(shí)施例中,可以通過(guò)Act1nScript中的getPixel32方法獲取該某個(gè)坐標(biāo)位置上像素的ARGB值,其高8位即為該像素的透明度,取值從O到255,O為全透明,255為全不透明,從而獲取到所述位圖對(duì)象在所述選取位置的對(duì)應(yīng)像素的透明度,示例性的可以取預(yù)設(shè)閾值為128,則若某個(gè)像素的透明度大于128,可以確定其為有效像素。在其他可選實(shí)施例中,可以通過(guò)其他像素信息判斷該像素在目標(biāo)場(chǎng)景中是否可見(jiàn)或是否產(chǎn)生有效影響作為判斷其是否為有效像素。
[0033]S204,將所述有效位圖對(duì)象中位于最上層的位圖對(duì)象確定為所述選取操作選中的對(duì)象。
[0034]具體的,在獲取到在所述選取位置上的所有有效位圖對(duì)象后,圖像對(duì)象選取裝置可以進(jìn)一步獲取每個(gè)有效位圖對(duì)象在所述目標(biāo)場(chǎng)景中的層級(jí),從而將層級(jí)最大的有效位圖對(duì)象確定為所述選取操作選中的對(duì)象。
[0035]在可選實(shí)施例中,可以采用getChildlndex方法獲取集合中每個(gè)有效位圖對(duì)象的層級(jí),數(shù)值越大表示該有效位圖對(duì)象位于更上層,從而可以將層級(jí)最大的有效位圖對(duì)象確定為所述選取操作選中的對(duì)象。示例性的,通過(guò)S204確定在選取位置上存在N個(gè)有效位圖對(duì)象,圖像對(duì)象選取裝置可以在獲取到某個(gè)有效位圖對(duì)象Bitmapl的層級(jí)后將其暫設(shè)為當(dāng)前的被選對(duì)象,輪詢(xún)至下一個(gè)有效位圖對(duì)象Bitmap