本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及圖像選中方法及裝置。
背景技術(shù):
在電子設(shè)備的操作過程中,很多時(shí)候需要對(duì)圖像進(jìn)行點(diǎn)擊選中。例如,在游戲中,為了實(shí)現(xiàn)玩家與游戲的交互,通常需要實(shí)現(xiàn)玩家用鼠標(biāo)或手指點(diǎn)擊選中游戲界面上的圖像,在此基礎(chǔ)上,玩家可對(duì)選中的圖像進(jìn)行拖拽、刪除等操作。
在現(xiàn)有的圖像選中方案中,請(qǐng)參見圖1a,是用圖像的最小外接矩形做判定依據(jù)的。當(dāng)點(diǎn)擊位置落在最小外接矩形范圍內(nèi)時(shí),就被認(rèn)定是點(diǎn)中了該圖像。現(xiàn)有圖像選中方案的示例性流程可參見圖1b所示。
現(xiàn)有的圖像選中方案的主要缺點(diǎn)是判定范圍過于寬泛。仍然以圖1a所示圖片為例,使用者或設(shè)計(jì)者可能期望圖片中的房子和奶牛、圍欄等部分可被點(diǎn)擊選中。至于房子和奶牛、圍欄等周邊的透明部分,使用者或設(shè)計(jì)者可能并不希望將其算作這張圖片的可選中區(qū)域。
因此,目前需要更準(zhǔn)確的圖像選中方案,以根據(jù)電子設(shè)備的使用者的輸入(例如點(diǎn)擊輸入),來判斷圖像是否被選中。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供圖像選中方法及裝置,以準(zhǔn)確得判斷圖像是否被選中。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案:
一種圖像選中方法,應(yīng)用于電子設(shè)備,其特征在于,基于配置文件,所述配置文件包括圖像標(biāo)識(shí)以及與所述圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合;其 中,所述圖像標(biāo)識(shí)用于表征圖片中的圖像,所述圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合包括,所述圖像標(biāo)識(shí)表征的圖像的邊緣頂點(diǎn)在圖片中的坐標(biāo);
所述方法包括:
獲取通過所述電子設(shè)備的輸入設(shè)備輸入的位置信息;
從所述配置文件中獲取目標(biāo)圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合,獲取到的邊緣頂點(diǎn)坐標(biāo)集合為目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合;
將所述位置信息和所述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo);
判斷所述位置信息對(duì)應(yīng)的坐標(biāo),是否位于所述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中;
在判斷出所述位置信息對(duì)應(yīng)的坐標(biāo)位于所述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中時(shí),確定所述目標(biāo)圖像標(biāo)識(shí)表征的圖像被選中。
一種圖像選中裝置,基于配置文件,所述配置文件包括圖像標(biāo)識(shí)以及與所述圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合;其中,所述圖像標(biāo)識(shí)用于表征圖片中的圖像,所述圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合包括,所述圖像標(biāo)識(shí)表征的圖像的邊緣頂點(diǎn)在圖片中的坐標(biāo);
所述圖像選中裝置包括:
獲取單元,用于獲取通過所述電子設(shè)備的輸入設(shè)備輸入的位置信息;
處理單元,用于:
從配置文件中獲取目標(biāo)圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合,獲取到的邊緣頂點(diǎn)坐標(biāo)集合為目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合;
將所述位置信息和所述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo);
判斷所述位置信息對(duì)應(yīng)的坐標(biāo),是否位于所述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中;
在判斷出所述位置信息對(duì)應(yīng)的坐標(biāo)位于所述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中時(shí),確定所述目標(biāo)圖像標(biāo)識(shí)表征的圖像被選中。
一種電子設(shè)備,包括上述的圖像選中裝置。
在本發(fā)明實(shí)施例中,以配置文件記錄圖片中的圖像的邊緣頂點(diǎn)坐標(biāo)集合,上述邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)圍成的多邊形標(biāo)定了圖片的可選中區(qū)域。在電子設(shè)備的使用者輸入位置信息后,先經(jīng)坐標(biāo)轉(zhuǎn)化,之后會(huì)判斷位置信息對(duì)應(yīng)的坐標(biāo)是否位于目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中,從而判定目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合對(duì)應(yīng)的圖像是否被選中。本發(fā)明實(shí)施例所提供的技術(shù)方案中的多邊形與現(xiàn)有技術(shù)方案中的最小外接矩形相比,縮小了判定范圍,使得電子設(shè)備使用者的點(diǎn)選操作更具有針對(duì)性,圖像的選中更為準(zhǔn)確。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1a為圖像的最小外接矩形示意圖;
圖1b、1c為現(xiàn)有圖像選中方案的示例性流程;
圖1d為本發(fā)明實(shí)施例提供的內(nèi)部存在大量鏤空設(shè)計(jì)的圖像的示意圖;
圖2為本發(fā)明實(shí)施例提供的圖像選中裝置或電子設(shè)備的計(jì)算機(jī)架構(gòu)示例圖;
圖3a、圖3e、圖3f、圖4a、圖5a、圖5c、圖6為本發(fā)明實(shí)施例提供的圖像選中方法示例性流程圖;
圖3b為本發(fā)明實(shí)施例提供的圖片的示例圖;
圖3c為本發(fā)明實(shí)施例提供的邊緣頂點(diǎn)構(gòu)成的多邊形的示例圖;
圖3d為本發(fā)明實(shí)施例提供的在當(dāng)前操作界面包含多個(gè)圖像的示例圖;
圖4b為本發(fā)明實(shí)施例提供的建筑圖像示例圖;
圖4c為本發(fā)明實(shí)施例提供的邊緣頂點(diǎn)坐標(biāo)示例圖;
圖5b為本發(fā)明實(shí)施例提供的邊緣頂點(diǎn)進(jìn)行凸包算法計(jì)算后得到的結(jié)果的示例圖;
圖7a、圖7b為本發(fā)明實(shí)施例提供的圖像選中裝置的示例性結(jié)構(gòu)圖。
具體實(shí)施方式
除圖1a和圖1b所示現(xiàn)有圖像選中方案外,另外一種常用圖像選中方案是判斷點(diǎn)擊位置對(duì)應(yīng)圖像的像素。
更具體的,是判斷像素中的透明度(alpha值)是否大于0,也即,判斷點(diǎn)擊位置是否透明,如果alpha值大于0,則點(diǎn)擊位置不透明,就認(rèn)為該圖像被選中,否則就認(rèn)為圖像沒有被選中。其示例性流程可參見圖1c所示。
圖1c所示技術(shù)方案存在以下幾個(gè)缺點(diǎn):
(1)通用性差
在游戲中,上述圖像選中方案需要在游戲運(yùn)行中實(shí)時(shí)獲取圖像對(duì)應(yīng)位置像素值,實(shí)現(xiàn)復(fù)雜,在不同類型的項(xiàng)目中,用到的開發(fā)環(huán)境和開發(fā)代碼不同,需要進(jìn)行不同的代碼實(shí)現(xiàn)。另外由于需要在運(yùn)行時(shí)實(shí)時(shí)進(jìn)行像素值的獲取計(jì)算,性能相對(duì)較低。
(2)容錯(cuò)性差
針對(duì)一些特殊圖片,比如邊緣不光滑或者圖像內(nèi)部存在大量鏤空設(shè)計(jì)的圖像(例如圖1d),在點(diǎn)擊時(shí)就會(huì)因?yàn)辄c(diǎn)擊到圖像內(nèi)部空白像素位置,而導(dǎo)致判定圖像未被選中。
(3)靈活性差
對(duì)于某些特殊的圖像,設(shè)計(jì)者可能希望擴(kuò)大或者縮小其點(diǎn)擊區(qū)域,但是由于采用了圖像像素值的判定機(jī)制,就只能做特殊處理,比如約定某個(gè)特殊 的透明度或者像素值,在程序中進(jìn)行特殊判斷。一方面這樣會(huì)帶來制作的開銷,另一方面也會(huì)影響圖像本身的展示。
為解決上述問題,本發(fā)明提供圖像選中方法及裝置。
上述圖像選中裝置可應(yīng)用于電子設(shè)備/終端(客戶端)中,諸如臺(tái)式機(jī)、移動(dòng)終端(例如智能手機(jī))、ipad等。
圖像選中裝置可以軟件的形式應(yīng)用于電子設(shè)備中,或以硬件的形式作為電子設(shè)備的組成部分。
當(dāng)以軟件形式應(yīng)用于電子設(shè)備中時(shí),圖像選中裝置具體可為一應(yīng)用程序,例如手機(jī)APP、終端應(yīng)用程序等,也可作為某應(yīng)用程序或操作系統(tǒng)的組件。
圖2示出了圖像選中裝置或包含上述圖像選中裝置的電子設(shè)備一種通用計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。
上述計(jì)算機(jī)系統(tǒng)可包括總線、處理器1、存儲(chǔ)器2、通信接口3、輸入設(shè)備4和輸出設(shè)備5。處理器1、存儲(chǔ)器2、通信接口3、輸入設(shè)備4和輸出設(shè)備5通過總線相互連接。其中:
總線可包括一通路,在計(jì)算機(jī)系統(tǒng)各個(gè)部件之間傳送信息。
處理器1可以是通用處理器,例如通用中央處理器(CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱NP)、微處理器等,也可以是特定應(yīng)用集成電路(application-specific integrated circuit,ASIC),或一個(gè)或多個(gè)用于控制本發(fā)明方案程序執(zhí)行的集成電路。還可以是數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
處理器1可包括主處理器,還可包括基帶芯片、調(diào)制解調(diào)器等。
存儲(chǔ)器2中保存有執(zhí)行本發(fā)明技術(shù)方案的程序,還可以保存有操作系統(tǒng)和其他關(guān)鍵業(yè)務(wù)。具體地,程序可以包括程序代碼,程序代碼包括計(jì)算機(jī)操作指令。更具體的,存儲(chǔ)器2可以包括只讀存儲(chǔ)器(read-only memory,ROM)、可存儲(chǔ)靜態(tài)信息和指令的其他類型的靜態(tài)存儲(chǔ)設(shè)備、隨機(jī)存取存儲(chǔ) 器(random access memory,RAM)、可存儲(chǔ)信息和指令的其他類型的動(dòng)態(tài)存儲(chǔ)設(shè)備、磁盤存儲(chǔ)器、flash等等。
輸入設(shè)備4可包括接收用戶輸入的數(shù)據(jù)和信息的裝置,例如鍵盤、鼠標(biāo)、攝像頭、掃描儀、光筆、語(yǔ)音輸入裝置、觸摸屏、計(jì)步器或重力感應(yīng)器等。
輸出設(shè)備5可包括允許輸出信息給用戶的裝置,例如顯示屏、打印機(jī)、揚(yáng)聲器等。
通信接口3可包括使用任何收發(fā)器一類的裝置,以便與其他設(shè)備或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無線接入網(wǎng)(RAN),無線局域網(wǎng)(WLAN)等。
處理器1執(zhí)行存儲(chǔ)器2中所存放的程序,以及調(diào)用其他設(shè)備,可用于實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的圖像選中方法中的各個(gè)步驟。
上述圖像選中方法和裝置可應(yīng)用于任何需要進(jìn)行選中圖像的場(chǎng)景,例如,操作系統(tǒng)桌面圖標(biāo)選中、游戲中的圖像選中等等。
下面將基于上面的本發(fā)明涉及的共性方面,對(duì)本發(fā)明實(shí)施例進(jìn)一步詳細(xì)說明。
圖3a示出了上述圖像選中裝置所執(zhí)行的圖像選中方法的一種示例性流程,其可包括:
300部分:生成配置文件。
上述配置文件中包括圖像標(biāo)識(shí)以及對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合。
其中,圖像標(biāo)識(shí)用于表征圖片中的圖像或者表征圖片。
需要說明的是,圖片與圖像是不同。以圖3b所示圖片為例,圖片一般為矩形的,例如像素為16*16的圖片。在圖片中有圖像,圖像則沒有固定的形狀。
此外,需要說明的是,邊緣頂點(diǎn)坐標(biāo)集合包括,圖像標(biāo)識(shí)表征的圖像的邊緣頂點(diǎn)在圖片中的坐標(biāo)。
假定某圖片像素為16*16,該圖片的坐標(biāo)系如圖3b所示,以左上角為原點(diǎn)(0,0),x軸和y軸的最大取值為15。假定,圖片中的圖像對(duì)應(yīng)的邊緣頂點(diǎn)集合中包括4個(gè)邊緣頂點(diǎn)(A、B、C、D),則邊緣頂點(diǎn)坐標(biāo)集合中儲(chǔ)存的是各邊緣頂點(diǎn)A、B、C、D相對(duì)于原點(diǎn)(0,0)的坐標(biāo)。
由于邊緣頂點(diǎn)坐標(biāo)集合保存的是邊緣頂點(diǎn)在圖片的坐標(biāo)系下的坐標(biāo),這樣,無論圖片在屏幕中的哪個(gè)位置,邊緣頂點(diǎn)在這個(gè)圖片上的坐標(biāo)均不會(huì)發(fā)生變化。
更具體的,配置文件的格式可為圖像標(biāo)識(shí)+數(shù)組。舉例來講,假定某一圖片的圖像標(biāo)識(shí)是0001,該圖片中的圖像對(duì)應(yīng)的邊緣頂點(diǎn)集合中包括4個(gè)邊緣頂點(diǎn),則在配置文件中,圖像標(biāo)識(shí)0001之后有一個(gè)數(shù)組,數(shù)組中保存有這4個(gè)邊緣頂點(diǎn)的坐標(biāo)信息。
在一個(gè)示例中,配置文件具體可為xml、bin文件或其他可跨平臺(tái)(語(yǔ)言)的文件,從而可在任意平臺(tái)、任意代碼中直接讀取,不會(huì)受限于游戲或應(yīng)用開發(fā)的代碼種類及開發(fā)平臺(tái)。
301部分:獲取電子設(shè)備的輸入設(shè)備輸入的位置信息。
上述輸入設(shè)備一般可為鼠標(biāo)、觸摸屏或鍵盤。
以游戲場(chǎng)景為例,玩家在移動(dòng)終端上點(diǎn)擊觸摸屏,可輸入點(diǎn)擊位置信息。
302部分:從上述配置文件中獲取目標(biāo)圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合。
獲取到的邊緣頂點(diǎn)坐標(biāo)集合可稱為目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合。
更具體的,目標(biāo)圖像標(biāo)識(shí)可為存在于當(dāng)前操作界面(例如游戲界面)中的任一圖像對(duì)應(yīng)的圖像標(biāo)識(shí)。
舉例來講,配置文件中包括10個(gè)圖像標(biāo)識(shí)以及相應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合。
而當(dāng)前操作界面中包含2個(gè)圖像,其對(duì)應(yīng)的圖像標(biāo)識(shí)分別為0001和1000,則目標(biāo)圖像標(biāo)識(shí)可為0001、1000。
303部分:將上述位置信息和目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo)(此部分可簡(jiǎn)稱為統(tǒng)一坐標(biāo)系)。
前述提及了,邊緣頂點(diǎn)坐標(biāo)為邊緣頂點(diǎn)在圖片的坐標(biāo)系下的坐標(biāo)。
而301部分獲取的位置信息,是在屏幕坐標(biāo)系或世界坐標(biāo)系下的坐標(biāo)。
為了統(tǒng)一,需要將位置信息和邊緣頂點(diǎn)的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo),后續(xù)在304部分才可進(jìn)行判斷。
304部分:判斷上述位置信息對(duì)應(yīng)的坐標(biāo),是否位于上述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中;若是,進(jìn)入305部分,否則進(jìn)入306部分。
上述多邊形可為凸多邊形,也可為凹多邊形。
請(qǐng)參見圖3c,假定目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中有四個(gè)邊緣頂點(diǎn)A-D,其所構(gòu)成的多邊形如圖3c的虛線框所示。
若位置信息對(duì)應(yīng)坐標(biāo)點(diǎn)E,則可判斷出位置信息對(duì)應(yīng)的坐標(biāo)并未位于多邊形中。而若位置信息對(duì)應(yīng)坐標(biāo)點(diǎn)E’,則可判斷出該位置信息對(duì)應(yīng)的坐標(biāo)位于多邊形中。
需要說明的是,對(duì)圖3c所示的圖像而言,凸多邊形會(huì)比真正的圖像多包含一小部分(一般為透明的),但是整體上不會(huì)對(duì)操作有明顯影響。對(duì)于個(gè)別透明部分過大的圖像,可輔以手動(dòng)調(diào)整頂點(diǎn)坐標(biāo)的方式進(jìn)行優(yōu)化。
在配置文件生成過程中,若不對(duì)邊緣頂點(diǎn)坐標(biāo)集合手動(dòng)調(diào)整,則根據(jù)邊緣頂點(diǎn)坐標(biāo)集合中的坐標(biāo)生成的一定是凸多邊形,但是可以根據(jù)特殊圖像特殊情況手動(dòng)調(diào)整成凹多邊形。
在一個(gè)示例中,手動(dòng)調(diào)整頂點(diǎn)坐標(biāo)(編輯邊緣頂點(diǎn)坐標(biāo)集合)的方式可具體包括:
步驟A:圖像選中裝置提供調(diào)整界面。
步驟B:圖像選中裝置接收通過輸入設(shè)備輸入的圖像標(biāo)識(shí)。
上述輸入設(shè)備一般可為鼠標(biāo)、觸摸屏或鍵盤。
用戶可在調(diào)整界面的查詢窗口中輸入圖像標(biāo)識(shí)。
或者,在調(diào)整界面上可提供圖像縮略圖,用戶通過鼠標(biāo)、觸摸屏或鍵盤點(diǎn)擊圖像縮略圖,也可輸入被點(diǎn)擊的圖像縮略圖對(duì)應(yīng)的圖像標(biāo)識(shí)。
步驟C:圖像選中裝置查詢輸入的圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合,并顯示獲取到的邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形。
步驟D:圖像選中裝置監(jiān)聽輸入設(shè)備;
步驟E:當(dāng)監(jiān)聽到輸入設(shè)備的操作事件時(shí),圖像選中裝置執(zhí)行與所述操作事件相對(duì)應(yīng)的動(dòng)作。
舉例來講,以鼠標(biāo)輸入為例,在圖像選中裝置監(jiān)聽到鼠標(biāo)點(diǎn)擊上述多邊形的某一邊緣頂點(diǎn)的事件并保持不松開時(shí)(可稱為邊緣頂點(diǎn)選中按下(未彈起)事件),圖像選中裝置所執(zhí)行的與操行事件相對(duì)應(yīng)的動(dòng)作包括:在使用者拖動(dòng)鼠標(biāo)的過程中,令被點(diǎn)擊選中的邊緣頂點(diǎn)追隨鼠標(biāo)的移動(dòng)而移動(dòng),在監(jiān)聽到鼠標(biāo)被松開時(shí),獲得該被點(diǎn)擊選中邊緣頂點(diǎn)的新位置。這里所說的新位置可以是被點(diǎn)擊選中邊緣頂點(diǎn)在顯示屏上的新坐標(biāo)(或世界坐標(biāo)系下的新坐標(biāo)),則后續(xù)會(huì)進(jìn)行坐標(biāo)系轉(zhuǎn)換,將其轉(zhuǎn)換為邊緣頂點(diǎn)在圖片的坐標(biāo)系下的新坐標(biāo)。
若用戶點(diǎn)擊保存按鈕,圖像選中裝置監(jiān)聽到保存事件,會(huì)將新坐標(biāo)保存至邊緣頂點(diǎn)坐標(biāo)集合。
當(dāng)然,也可使用鼠標(biāo)拉選出多個(gè)邊緣頂點(diǎn),對(duì)其進(jìn)行移動(dòng),在此不作贅述。
再舉例來講,仍以鼠標(biāo)輸入為例,在圖像選中裝置監(jiān)聽到鼠標(biāo)單擊上述多邊形的某一邊緣頂點(diǎn)的事件時(shí),圖像選中裝置所執(zhí)行的與操行事件相對(duì)應(yīng)的動(dòng)作包括:標(biāo)亮被單擊的邊緣頂點(diǎn)。
在邊緣頂點(diǎn)被標(biāo)亮的情況下,可對(duì)其進(jìn)行刪除。其操作可以是,使用者點(diǎn)擊鼠標(biāo)右鍵,選擇刪除選項(xiàng),則圖像選中裝置監(jiān)聽到刪除事件,其所執(zhí)行的相應(yīng)的動(dòng)作是刪除被標(biāo)亮的邊緣頂點(diǎn)的坐標(biāo)。
當(dāng)然,也可使用鼠標(biāo)拉選出多個(gè)邊緣頂點(diǎn),對(duì)其進(jìn)行刪除,在此不作贅述。
或者,在邊緣頂點(diǎn)被標(biāo)亮的情況下,也可輸入被標(biāo)亮的邊緣頂點(diǎn)的新坐標(biāo),以調(diào)整被標(biāo)亮的邊緣頂點(diǎn)的位置。該新坐標(biāo)可為被標(biāo)亮的邊緣頂點(diǎn)在顯示屏上的新坐標(biāo)(或世界坐標(biāo)系下的新坐標(biāo)),則圖像選中裝置監(jiān)聽到坐標(biāo)更改事件,其所執(zhí)行的相應(yīng)的動(dòng)作可包括:對(duì)新坐標(biāo)進(jìn)行坐標(biāo)系轉(zhuǎn)換,將其轉(zhuǎn)換為在圖片的坐標(biāo)系下的新坐標(biāo)。若用戶點(diǎn)擊保存按鈕,圖像選中裝置監(jiān)聽到保存事件,會(huì)將新坐標(biāo)保存至邊緣頂點(diǎn)坐標(biāo)集合。
此外,本發(fā)明實(shí)施例還可支持添加新邊緣頂點(diǎn)。
仍以鼠標(biāo)輸入為例,用戶可使用鼠標(biāo)右鍵點(diǎn)擊非邊緣頂點(diǎn)所在的位置,從彈出的選項(xiàng)中選擇添加邊緣頂點(diǎn)選項(xiàng),則圖像選中裝置監(jiān)聽到邊緣頂點(diǎn)添加事件,其所執(zhí)行的相應(yīng)的動(dòng)作是將鼠標(biāo)右鍵點(diǎn)擊的位置進(jìn)行坐標(biāo)系轉(zhuǎn)換,將其轉(zhuǎn)換為在圖片的坐標(biāo)系下的坐標(biāo),并顯示該新添加的邊緣頂點(diǎn)。若用戶點(diǎn)擊保存按鈕,圖像選中裝置監(jiān)聽到保存事件,會(huì)將新坐標(biāo)保存至邊緣頂點(diǎn)坐標(biāo)集合。
或者,圖像選中裝置監(jiān)聽到邊緣頂點(diǎn)添加事件后,會(huì)在鼠標(biāo)右鍵點(diǎn)擊的位置出現(xiàn)一個(gè)標(biāo)亮的新坐標(biāo)點(diǎn)(新邊緣頂點(diǎn)),使用鼠標(biāo)拖動(dòng)該新坐標(biāo)點(diǎn),新坐標(biāo)點(diǎn)追隨鼠標(biāo)的移動(dòng)而移動(dòng)。在監(jiān)聽到鼠標(biāo)被松開時(shí),獲得該新坐標(biāo)點(diǎn)的位置,對(duì)坐標(biāo)進(jìn)行坐標(biāo)系轉(zhuǎn)換,可得到新邊緣頂點(diǎn)在圖片的坐標(biāo)系下的坐標(biāo)。若用戶點(diǎn)擊保存按鈕,圖像選中裝置監(jiān)聽到保存事件,會(huì)將新邊緣頂點(diǎn)的坐標(biāo)保存至邊緣頂點(diǎn)坐標(biāo)集合。
305部分:確定上述目標(biāo)圖像標(biāo)識(shí)表征的圖像被選中。
306部分:確定上述目標(biāo)圖像標(biāo)識(shí)表征的圖像未被選中。
需要說明的是,300部分可由某一圖像選中裝置(例如服務(wù)器)執(zhí)行,而301-306部分乃至后續(xù)的307-309部分,可由另一圖像選中裝置(例如終端/客戶端)執(zhí)行。
當(dāng)然,300-306部分乃至后續(xù)的307-309部分,也可由同一圖像選中裝置執(zhí)行。
還需要說明的是,在當(dāng)前操作界面包含多個(gè)圖像(例如圖3d)時(shí),可遍歷當(dāng)前操作界面中各圖像對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合,逐個(gè)去判斷位置信息是否位于某一集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中。
則請(qǐng)參見圖3e或3f,在306部分或305部分之后還可包括:
307部分:判斷當(dāng)前操作界面所有圖像是否都已判定完畢,若是,進(jìn)入309部分,否則進(jìn)入308部分。
308部分:獲取下一目標(biāo)圖像標(biāo)識(shí),返回302部分。
309部分:選中流程結(jié)束。
可見,在本發(fā)明實(shí)施例中,以配置文件記錄圖片中的圖像的邊緣頂點(diǎn)坐標(biāo)集合,上述邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)圍成的多邊形標(biāo)定了圖片的可選中區(qū)域。在電子設(shè)備的使用者輸入位置信息后,先經(jīng)坐標(biāo)轉(zhuǎn)化,之后會(huì)判斷位置信息對(duì)應(yīng)的坐標(biāo)是否位于目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中,從而判定目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合對(duì)應(yīng)的圖像是否被選中。本發(fā)明實(shí)施例所提供的技術(shù)方案中的多邊形與現(xiàn)有技術(shù)方案中的最小外接矩形相比,縮小了判定范圍,使得電子設(shè)備使用者的點(diǎn)選操作更具有針對(duì)性,圖像的選中更為準(zhǔn)確。
此外,與圖1c所示的現(xiàn)有技術(shù)方案(像素值判定)相比較,本發(fā)明實(shí)施例中邊緣頂點(diǎn)坐標(biāo)集合所圍成的區(qū)域是一個(gè)多邊形,所有落在這個(gè)多邊形內(nèi)的點(diǎn)擊位置都會(huì)被判定為選中,因此不會(huì)出現(xiàn)像素值判定方式可能出現(xiàn)的,因物件形狀特殊(比如邊緣毛刺過多或者中間大范圍鏤空)而影響判斷結(jié)果。其通用性、靈活性、準(zhǔn)確性均高于像素值判定方式。
需要說明的是,本發(fā)明針對(duì)的是圖像本身是否被點(diǎn)擊選中,在實(shí)際游戲中,可能存在圖像重疊的情況,也就是可能存在多個(gè)圖像都滿足被點(diǎn)擊選中的條件,最終選擇哪一個(gè)圖像作為選定對(duì)象,需要根據(jù)實(shí)際需求來判定(例如選擇最上層的圖像作為選定對(duì)象),在此不作贅言。
圖4a示出了圖像選中裝置所執(zhí)行的圖像選中方法的另一種示例性流程(在本實(shí)施例中,重點(diǎn)將介紹如何生成配置文件),其可包括:
400部分:創(chuàng)建空白的通用配置文件。
通用配置文件具體可為xml、bin文件或其他可跨平臺(tái)(語(yǔ)言)的通用文件,從而可在任意平臺(tái)、任意代碼中直接讀取,不會(huì)受限于游戲或應(yīng)用開發(fā)的代碼種類及開發(fā)平臺(tái)。
401部分:獲取圖片。
更具體的,可從圖片庫(kù)中獲取圖片。也可從存儲(chǔ)圖片的文件夾中獲取圖片。
關(guān)于圖片與圖像的相關(guān)介紹可參見前述300部分的介紹,在此不作贅述。
402部分:對(duì)獲取的圖片中的圖像進(jìn)行邊緣檢測(cè),得到包含圖像的所有邊緣頂點(diǎn)的坐標(biāo)的坐標(biāo)集合。
邊緣檢測(cè)是圖像處理和計(jì)算機(jī)視覺中的基本問題,其目的是標(biāo)識(shí)數(shù)字圖像中變化明顯的點(diǎn)。邊緣檢測(cè)可以將圖像的輪廓對(duì)應(yīng)的點(diǎn)計(jì)算出來。
在一個(gè)示例中,可采用canny算子的邊緣檢測(cè)算法進(jìn)行邊緣檢測(cè)。當(dāng)然,也可以根據(jù)需要采用其他類型的邊緣檢測(cè)算法(例如Roberts算子、Sobel算子等邊緣檢測(cè)算法),本發(fā)明不作具體限定。
以圖4b所示的建筑圖像為例,進(jìn)行邊緣檢測(cè)后,得到的所有邊緣頂點(diǎn)的坐標(biāo)如圖4c所示。
403部分:將上述坐標(biāo)集合和獲取的圖像所對(duì)應(yīng)的圖像標(biāo)識(shí),添加至配置文件。
在本實(shí)施例中,包含圖像的所有邊緣頂點(diǎn)的坐標(biāo)的坐標(biāo)集合即為前述的邊緣頂點(diǎn)坐標(biāo)集合。
配置文件所包含的內(nèi)容可參見前述300部分的介紹。
在一個(gè)示例中,當(dāng)需要生成多個(gè)圖片對(duì)應(yīng)的配置文件時(shí),可進(jìn)行批處理。批處理方式包括:一次性導(dǎo)入多張圖片,并對(duì)每一張圖片執(zhí)行402-403部分的操作。
404-409部分分別與前述的301-306部分相類似,在此不贅述。
在本發(fā)明其他實(shí)施例中,在408部分或409部分之后還可包括:
判斷當(dāng)前操作界面所有圖像是否都已判定完畢,若是,選中流程結(jié)束;否則,獲取下一目標(biāo)圖像標(biāo)識(shí),返回405部分。
圖4c中的邊緣頂點(diǎn)多達(dá)415個(gè),過多的頂點(diǎn)會(huì)造成配置內(nèi)容過多以及后續(xù)計(jì)算效率低下,為此可考慮放棄一部分精確性,在此基礎(chǔ)上采用凸包算法來進(jìn)一步縮小所需的頂點(diǎn)配置。因此,請(qǐng)參見圖5a示出的由圖像選中裝置所執(zhí)行的圖像選中方法的又一種示例性流程,其至少可包括:
500-502部分與400-402部分相類似,在此不作贅述。
503部分:獲取上述坐標(biāo)集合的凸包。
上述凸包為包含上述坐標(biāo)集合的所有凸集的交集。
凸包(Convex Hull)是圖形學(xué)中的概念。在一個(gè)實(shí)數(shù)向量空間V中,對(duì)于給定集合X,所有包含X的凸集的交集S被稱為X的凸包。
簡(jiǎn)單來說,就是對(duì)于給定二維平面上的點(diǎn)集,凸包是將最外層的點(diǎn)連接起來構(gòu)成的凸多邊型,它能包含點(diǎn)集中所有的點(diǎn)。
在一個(gè)示例中,可采用Graham Scan凸包算法來獲取坐標(biāo)集合的凸包,當(dāng)然,也可以根據(jù)實(shí)際需求選取其他適合的凸包算法,例如卷包裹算法(Gift Wrapping Algorithm)、快速凸包算法(Quickhull Algorithm)等凸包算法來獲取坐標(biāo)集合的凸包。
以圖4c所示的邊緣結(jié)果為例,在對(duì)圖4c中的邊緣頂點(diǎn)進(jìn)行凸包算法計(jì)算后,得到的結(jié)果請(qǐng)參見圖5b。
可以看出來,圖5b的邊緣頂點(diǎn)降低到了11個(gè),經(jīng)過Graham Scan凸包計(jì)算后的頂點(diǎn)是逆時(shí)針排列的,我們可以按順序?qū)⑵鋬蓛蛇B線,所圍起來的多邊形就是圖5b的多邊形。
多邊形把圖像的非透明的部分包圍起來。
504部分:將上述凸包和上述圖像對(duì)應(yīng)的圖像標(biāo)識(shí),添加至配置文件。
在本實(shí)施例中,凸包即為前述的邊緣頂點(diǎn)坐標(biāo)集合。
配置文件所包含的內(nèi)容可參見前述300部分的介紹。
在一個(gè)示例中,當(dāng)需要生成多個(gè)圖片對(duì)應(yīng)的配置文件時(shí),可進(jìn)行批處理。一種批處理方式包括:一次性導(dǎo)入多張圖片,并對(duì)每一張圖片執(zhí)行502-504部分的操作。
505部分與404和301部分相類似,在此不作贅述。
506部分:從上述配置文件中獲取目標(biāo)圖像標(biāo)識(shí)對(duì)應(yīng)的凸包。
獲取到的凸包可稱為目標(biāo)凸包。
507部分:將上述位置信息和目標(biāo)凸包的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo)(此部分可簡(jiǎn)稱為統(tǒng)一坐標(biāo)系)。
前述提及了,邊緣頂點(diǎn)坐標(biāo)為邊緣頂點(diǎn)在圖片的坐標(biāo)系下的坐標(biāo)。
而505部分獲取的位置信息,是在屏幕坐標(biāo)系或世界坐標(biāo)系下的坐標(biāo)。
為了統(tǒng)一,需要將位置信息和目標(biāo)凸包中的邊緣頂點(diǎn)的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo)。后續(xù)在508部分才可進(jìn)行判斷。
508部分:判斷上述位置信息對(duì)應(yīng)的坐標(biāo),是否位于上述凸包中的邊緣頂點(diǎn)構(gòu)成的多邊形中;若是,進(jìn)入509部分,否則進(jìn)入510部分。
509-510部分與305-306部分、408-409部分相類似,在此不作贅述。
在本發(fā)明其他實(shí)施例中,在509部分或510部分之后還可包括:
判斷當(dāng)前操作界面所有圖像是否都已判定完畢,若是,選中流程結(jié)束;否則,獲取下一目標(biāo)圖像標(biāo)識(shí),返回506部分。
在本發(fā)明其他實(shí)施例中,請(qǐng)參見圖5c,還可在502部分與505部分之間包含如下步驟:
5031部分:判斷上述所有邊緣頂點(diǎn)的個(gè)數(shù)是否大于最大閾值;如果是,進(jìn)入5041部分,否則進(jìn)入5032部分。
最大閾值可根據(jù)需要而定,例如可為11、12等等。
5032部分:將上述坐標(biāo)集合和獲取的圖像所對(duì)應(yīng)的圖像標(biāo)識(shí),添加至配置文件。
5032部分與403部分相類似,在此不作贅述。
5041部分:獲取上述坐標(biāo)集合的凸包。
5041部分與503部分相類似,在此不作贅述。
5042部分:將上述凸包和上述圖像對(duì)應(yīng)的圖像標(biāo)識(shí),添加至配置文件。
5042部分與504部分相類似,在此不作贅述。
在本實(shí)施例中,在所有邊緣頂點(diǎn)的個(gè)數(shù)大于最大閾值時(shí),才進(jìn)行凸包計(jì)息,可以減少計(jì)算量。
下面,將以游戲場(chǎng)景為例,對(duì)本發(fā)明的方案進(jìn)行更為詳細(xì)的描述。
請(qǐng)參見圖6,本實(shí)施例的圖像選中裝置所執(zhí)行的圖像選中方法的另一種示例性流程,其可包括:
601部分:獲取(或輸入)圖片。
601部分與401部分、501部分相類似,在此不作贅述。
602部分:對(duì)獲取的圖片中的圖像進(jìn)行canny算子邊緣檢測(cè)計(jì)算,得到包含圖像的所有邊緣頂點(diǎn)的頂點(diǎn)坐標(biāo)集合Vpre。
602部分與402部分、502部分相類似,在此不作贅述。
603部分:對(duì)頂點(diǎn)坐標(biāo)集合Vpre進(jìn)行Graham Scan凸包計(jì)算,得到頂點(diǎn)集合V(即前述的凸包)。
603部分與503部分相類似,在此不作贅述。
604部分:將頂點(diǎn)集合V寫入配置文件∑(V)。
604部分與504部分相類似,在此不作贅述。
在本實(shí)施例中,頂點(diǎn)集合V即為前述的邊緣頂點(diǎn)坐標(biāo)集合。配置文件所包含的內(nèi)容可參見前述300部分的介紹。
605部分:判斷所有圖片是否處理完畢,若是,進(jìn)入606部分,否則,返回601部分。
606部分:輸出配置文件∑(V)。
更具體的,可將配置文件放到當(dāng)前的文件系統(tǒng)中待用。比如,配置文件要被iOS上的應(yīng)用使用,則將配置文件輸出到iOS上的應(yīng)用對(duì)應(yīng)的文件夾中。再比如,配置文件要被android上的應(yīng)用使用,則將配置文件輸出到android應(yīng)用對(duì)應(yīng)的文件夾中??傊?,將配置文件輸出至應(yīng)用可以讀取的、文件系統(tǒng)的一個(gè)位置。
在具體實(shí)現(xiàn)時(shí),可通過圖像選中裝置中的圖像批處理單元執(zhí)行上述601-606部分。
在實(shí)際應(yīng)用中,我們可以通過一段通用的程序代碼或獨(dú)立的批處理程序,來預(yù)先、批量對(duì)游戲內(nèi)所需的圖片按照上述601-606部分所示流程得到配置文件。
607部分:讀取配置文件∑(V)。
在一個(gè)示例中,上述601-606部分執(zhí)行的時(shí)機(jī)最遲是在游戲未啟動(dòng)前,一般在游戲開發(fā)過程中執(zhí)行。
游戲啟動(dòng)時(shí),可將配置文件中的內(nèi)容讀取至內(nèi)存。
當(dāng)然,在其他實(shí)施例中,也可不將配置文件中的內(nèi)容讀入內(nèi)存,而是在需要查詢時(shí)直接查詢配置文件。
608部分:玩家輸入點(diǎn)擊位置。
玩家可通過輸入設(shè)備,例如鼠標(biāo)、觸摸屏或鍵盤等,輸入點(diǎn)擊位置。
608部分可參考505部分、404部分以及301部分,在此不作贅述。
609部分:獲取配置文件中目標(biāo)圖像標(biāo)識(shí)A對(duì)應(yīng)的頂點(diǎn)集合VA。
609部分與302部分、405部分、506部分相類似,在此不作贅述。
610部分:將上述位置信息和頂點(diǎn)集合VA中的邊緣頂點(diǎn)的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo)(此部分可簡(jiǎn)稱為統(tǒng)一坐標(biāo)系)。
610部分與303部分、406部分、507部分相類似,在此不作贅述。
611部分:判斷上述位置信息對(duì)應(yīng)的坐標(biāo),是否位于上述頂點(diǎn)集合VA中的邊緣頂點(diǎn)構(gòu)成的多邊形中;若是,進(jìn)入612部分,否則進(jìn)入613部分。
在一個(gè)示例中,可通過計(jì)算機(jī)圖形學(xué)中的交點(diǎn)計(jì)數(shù)檢驗(yàn)方式來判斷點(diǎn)擊位置是否落入上述多邊形中。
交點(diǎn)計(jì)數(shù)檢驗(yàn)的核心思想是:從判斷點(diǎn)(也即點(diǎn)擊位置)作一水平射線至無窮遠(yuǎn),計(jì)算射線與上述多邊形邊的交點(diǎn)個(gè)數(shù)。若交點(diǎn)個(gè)數(shù)為奇數(shù),則點(diǎn)擊位置在上述多邊形內(nèi);否則點(diǎn)擊位置在上述多邊形之外。
除了交點(diǎn)計(jì)數(shù)檢驗(yàn)方法外,也可以采用夾角之和檢驗(yàn)法等判斷點(diǎn)擊位置是否落入上述多邊形中。本發(fā)明對(duì)此不作限定。
612部分-613部分與前述的305-306部分、408-409部分、509-510部分相類似,在此不作贅述。
綜上,本實(shí)施例所提出的圖像選中方法的主要思想是:對(duì)圖像預(yù)先進(jìn)行批量處理,用有限數(shù)量的頂點(diǎn)坐標(biāo)標(biāo)記出圖像,并將其記錄到配置文件中;而后在游戲運(yùn)行時(shí)讀取上述配置文件,在游戲過程中根據(jù)玩家輸入的點(diǎn)擊位置,實(shí)時(shí)判斷點(diǎn)擊位置是否落在配置中所標(biāo)記的多邊形內(nèi),進(jìn)而來確定某圖像是否被點(diǎn)擊選中。
相比于現(xiàn)有的常用的最小外接矩形以及點(diǎn)擊位置像素值的判定技術(shù),本發(fā)明所提供的方案具有以下優(yōu)點(diǎn):
(1)通用性:采用圖像的預(yù)處理獲得通用的有效范圍頂點(diǎn)坐標(biāo)的配置文件具有通用性,即可以在任意平臺(tái)任意代碼中直接讀取配置文件,并進(jìn)行后續(xù)判斷,不會(huì)受限于游戲或應(yīng)用開發(fā)的代碼種類及開發(fā)平臺(tái);
(2)容錯(cuò)性:配置中的頂點(diǎn)坐標(biāo)所圍成的區(qū)域是一個(gè)多邊形,所有落在這個(gè)多邊形內(nèi)的點(diǎn)擊位置都會(huì)被判定為選中,因此不會(huì)出現(xiàn)像素值判定方法可能出現(xiàn)的因物件形狀特殊比如邊緣毛刺過多或者中間大范圍鏤空影響判斷結(jié)果;
(3)靈活性:如果對(duì)生成的范圍頂點(diǎn)不滿意,還可以根據(jù)具體需要手動(dòng)調(diào)整來控制圖像的有效范圍,相比像素值判斷方法,本方案具有更大的靈活性。
圖7a示出了上述實(shí)施例中所涉及的圖像選中裝置的一種可能的結(jié)構(gòu)示意圖,包括:
獲取單元701,用于獲取通過電子設(shè)備的輸入設(shè)備輸入的位置信息;
處理單元702,用于:
從配置文件中獲取目標(biāo)圖像標(biāo)識(shí)對(duì)應(yīng)的邊緣頂點(diǎn)坐標(biāo)集合,獲取到的邊緣頂點(diǎn)坐標(biāo)集合為目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合;
將上述位置信息和上述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)的坐標(biāo),轉(zhuǎn)化為同一坐標(biāo)系下的坐標(biāo);
判斷上述位置信息對(duì)應(yīng)的坐標(biāo),是否位于上述目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中;
在判斷出上述位置信息對(duì)應(yīng)的坐標(biāo)位于目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中時(shí),確定該目標(biāo)圖像標(biāo)識(shí)表征的圖像被選中。
在本發(fā)明其他實(shí)施例中,上述處理單元702還用于:
在判斷出上述位置信息對(duì)應(yīng)的坐標(biāo)未位于目標(biāo)邊緣頂點(diǎn)坐標(biāo)集合中的邊緣頂點(diǎn)構(gòu)成的多邊形中時(shí),確定該目標(biāo)圖像標(biāo)識(shí)表征的圖像未被選中。
若是,判定上述目標(biāo)圖像標(biāo)識(shí)表征的圖像被選中,否則,判定上述目標(biāo)圖像標(biāo)識(shí)表征的圖像未被選中。
在本發(fā)明其他實(shí)施例中,請(qǐng)參見圖7b,上述所有實(shí)施例中的圖像選中裝置還可包括:生成單元703,用于生成上述配置文件。
在其他實(shí)施例中,也可以是生成單元703應(yīng)用于某一設(shè)備(例如服務(wù)器)中,而獲取單元701和處理單元702應(yīng)用于另一設(shè)備中(例如終端/客戶端)。
獲取單元701可用于執(zhí)行圖3a、圖3e和圖3f所示的301部分,圖4a所示的404部分,圖5a所示的505部分,圖5c所示的505部分,圖6所示的608部分。
處理單元702可用于執(zhí)行圖3a所示的302-306部分,圖3e所示的302-309部分,圖3f所示的302-309部分,圖4a所示的402-409部分,圖5a、圖5c所示的506-510部分,圖6所示的607部分、609-613部分。
生成單元703可用于執(zhí)行圖3a、圖3e和圖3f所示的300部分,圖4a所示的400-403部分,圖5a所示的500-504部分,圖5c所示的500-502部分、5031-5032部分、以及5041-5042部分,圖6所示的601-606部分。
上述所有實(shí)施例所涉及的圖像選中裝置/電子設(shè)備/終端的另一種可能的結(jié)構(gòu)示意圖可參見圖2,包括:
總線、處理器1、存儲(chǔ)器2、通信接口3、輸入設(shè)備4和輸出設(shè)備5。處理器1、存儲(chǔ)器2、通信接口3、輸入設(shè)備4和輸出設(shè)備5通過總線相互連接。其中:
總線可包括一通路,在計(jì)算機(jī)系統(tǒng)各個(gè)部件之間傳送信息。
處理器1可以是通用處理器,例如通用中央處理器(CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱NP)、微處理器等,也可以是特定應(yīng)用集成電路(application-specific integrated circuit,ASIC),或一個(gè)或多個(gè)用于控制本發(fā)明方案程序執(zhí)行的集成電路。還可以是數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
處理器1可包括主處理器,還可包括基帶芯片、調(diào)制解調(diào)器等。
存儲(chǔ)器2中保存有執(zhí)行本發(fā)明技術(shù)方案的程序或腳本,還可以保存有操作系統(tǒng)和其他關(guān)鍵業(yè)務(wù)。具體地,程序可以包括程序代碼,程序代碼包括計(jì)算機(jī)操作指令。腳本則通常以文本(如ASCII)保存,只在被調(diào)用時(shí)進(jìn)行解釋或編譯。
更具體的,存儲(chǔ)器2可以包括只讀存儲(chǔ)器(read-only memory,ROM)、可存儲(chǔ)靜態(tài)信息和指令的其他類型的靜態(tài)存儲(chǔ)設(shè)備、隨機(jī)存取存儲(chǔ)器(random access memory,RAM)、可存儲(chǔ)信息和指令的其他類型的動(dòng)態(tài)存儲(chǔ)設(shè)備、磁盤存儲(chǔ)器、flash等等。
輸入設(shè)備4可包括接收用戶輸入的數(shù)據(jù)和信息的裝置,例如鍵盤、鼠標(biāo)、攝像頭、掃描儀、光筆、語(yǔ)音輸入裝置、觸摸屏、計(jì)步器或重力感應(yīng)器等。
輸出設(shè)備5可包括允許輸出信息給用戶的裝置,例如顯示屏、打印機(jī)、揚(yáng)聲器等。
通信接口3可包括使用任何收發(fā)器一類的裝置,以便與其他設(shè)備或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無線接入網(wǎng)(RAN),無線局域網(wǎng)(WLAN)等。
控制器/處理器可用于執(zhí)行圖3a、圖3e、圖3f、圖4a、圖5a、圖5c、圖6涉及圖像選中裝置/電子設(shè)備/終端的處理過程和/或用于本申請(qǐng)所描述的技術(shù)的其他過程??刂破?處理器也可用于實(shí)現(xiàn)前述處理單元702以及獲取單元701的功能。
通信接口則用于支持圖像選中裝置/電子設(shè)備/終端與其他裝置進(jìn)行通信。
可以理解的是,圖2僅僅示出了圖像選中裝置/電子設(shè)備/終端的簡(jiǎn)化設(shè)計(jì)。在實(shí)際應(yīng)用中,圖像選中裝置/電子設(shè)備/終端可以包含任意數(shù)量的發(fā)射器,接收器,處理器,控制器,存儲(chǔ)器,通信接口等,而所有可以實(shí)現(xiàn)本發(fā)明的圖像選中裝置/電子設(shè)備/終端都在本發(fā)明的保護(hù)范圍之內(nèi)。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。 對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、WD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。