本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種信息框顯示方法及裝置。
背景技術(shù):
當(dāng)前,基于圖像識(shí)別的信息標(biāo)注系統(tǒng)主要用于在圖像中識(shí)別目標(biāo)對(duì)象所在的區(qū)域,在目標(biāo)對(duì)象所在的區(qū)域繪制表示目標(biāo)對(duì)象位置的識(shí)別框,將目標(biāo)對(duì)象的標(biāo)注信息利用信息框標(biāo)注在目標(biāo)對(duì)象所在的區(qū)域附近。例如:在人臉識(shí)別系統(tǒng)中,采用人臉識(shí)別技術(shù)在包含有a某的圖像中識(shí)別出a某的人臉區(qū)域,再用識(shí)別框?qū)⑷四槄^(qū)域框出來,最后在識(shí)別框附近的預(yù)定位置處顯示包含與a某對(duì)應(yīng)的標(biāo)注信息的信息框。
然而在實(shí)際應(yīng)用中,當(dāng)識(shí)別對(duì)象靠近顯示畫面邊緣時(shí),信息框可能會(huì)在顯示畫面的范圍外顯示,用戶無法看清信息框中的文字內(nèi)容;當(dāng)多個(gè)識(shí)別對(duì)象相互臨近時(shí),一方面一個(gè)或者多個(gè)信息框可能會(huì)遠(yuǎn)離識(shí)別對(duì)象,用戶將可能無法清晰的了解到每個(gè)識(shí)別對(duì)象對(duì)應(yīng)的信息框;另一方面多個(gè)識(shí)別對(duì)象對(duì)應(yīng)的識(shí)別框可能會(huì)相互疊加覆蓋顯示,用戶也將無法清晰的了解到每個(gè)識(shí)別對(duì)象對(duì)應(yīng)的信息框,影響用戶的使用。
技術(shù)實(shí)現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種信息框顯示方法及裝置。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種信息框顯示方法,包括:
如果檢測(cè)到圖像中存在至少一個(gè)待識(shí)別的識(shí)別對(duì)象,為每個(gè)所述識(shí)別對(duì)象分別生成信息框,所述信息框中包含所述識(shí)別對(duì)象的標(biāo)注信息;
模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第一位置,所述第一位置位于環(huán)繞所述信息框?qū)?yīng)的識(shí)別對(duì)象的移動(dòng)軌跡上,不同所述信息框的顯示區(qū)域不同;
針對(duì)每個(gè)所述信息框,確定第一位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值;
如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件,在每個(gè)所述第一位置上分別顯示對(duì)應(yīng)的信息框。
可選地,所述方法還包括:
如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和不滿足預(yù)設(shè)條件,模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第二位置,所述第二位置與第一位置不同;
針對(duì)每個(gè)所述信息框,計(jì)算第二位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離;
計(jì)算所述圖像中每個(gè)所述信息框的移動(dòng)距離和至少一個(gè)所述信息框的代價(jià)值的和。
可選地,所述方法還包括:
判斷所述代價(jià)值的和是否等于預(yù)設(shè)值,所述預(yù)設(shè)值為關(guān)于移動(dòng)距離的預(yù)設(shè)代價(jià)函數(shù)的最小值;
如果所述代價(jià)值的和等于預(yù)設(shè)值,確定所述代價(jià)值的和滿足預(yù)設(shè)條件;
如果所述代價(jià)值的和不等于預(yù)設(shè)值,確定所述代價(jià)值的和不滿足預(yù)設(shè)條件。
可選地,所述模擬每個(gè)所述信息框在對(duì)應(yīng)的移動(dòng)軌跡上的第一位置,包括:
獲取所述圖像的顯示范圍以及當(dāng)前信息框的邊長;
在所述顯示范圍內(nèi),根據(jù)所述當(dāng)前信息框的邊長和所述識(shí)別對(duì)象的顯示區(qū)域確定所述當(dāng)前信息框的移動(dòng)軌跡;
在所述移動(dòng)軌跡中,確定與除當(dāng)前信息框之外的每個(gè)信息框的顯示區(qū)域不相互重合的位置為第一位置。
可選地,計(jì)算每個(gè)所述信息框的第一位置與所述第一位置所在的移動(dòng)軌跡上預(yù)設(shè)位置之間的移動(dòng)距離,包括:
針對(duì)每個(gè)所述信息框,按照預(yù)設(shè)方向計(jì)算所述移動(dòng)軌跡上由所述預(yù)設(shè)位置至所述第一位置之間的至少一段直線的長度;
將所述至少一段直線的長度的和確定為所述信息框的移動(dòng)距離。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種信息框顯示裝置,包括:
生成模塊,用于如果檢測(cè)到圖像中存在至少一個(gè)待識(shí)別的識(shí)別對(duì)象,為每個(gè)所述識(shí)別對(duì)象分別生成信息框,所述信息框中包含所述識(shí)別對(duì)象的標(biāo)注信息;
第一模擬模塊,用于模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第一位置,所述第一位置位于環(huán)繞所述信息框?qū)?yīng)的識(shí)別對(duì)象的移動(dòng)軌跡上,不同所述信息框的顯示區(qū)域不同;
第一確定模塊,用于針對(duì)每個(gè)所述信息框,確定第一位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值;
顯示模塊,用于在所述圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件時(shí),在每個(gè)所述第一位置上分別顯示對(duì)應(yīng)的信息框。
可選地,所述裝置還包括:
第二模擬模塊,用于如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和不滿足預(yù)設(shè)條件,模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第二位置,所述第二位置與第一位置不同;
第一計(jì)算模塊,用于針對(duì)每個(gè)所述信息框,計(jì)算第二位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離;
第二計(jì)算模塊,用于計(jì)算所述圖像中每個(gè)所述信息框的移動(dòng)距離和至少一個(gè)所述信息框的代價(jià)值的和。
可選地,所述裝置還包括:
判斷模塊,用于判斷所述代價(jià)值的和是否等于預(yù)設(shè)值,所述預(yù)設(shè)值為關(guān)于移動(dòng)距離的預(yù)設(shè)代價(jià)函數(shù)的最小值;
第二確定模塊,用于如果所述代價(jià)值的和等于預(yù)設(shè)值,確定所述代價(jià)值的和滿足預(yù)設(shè)條件;
第三確定模塊,用于如果所述代價(jià)值的和不等于預(yù)設(shè)值,確定所述代價(jià)值的和不滿足預(yù)設(shè)條件。
可選地,所述第一模擬模塊包括:
獲取子模塊,用于獲取所述圖像的顯示范圍以及當(dāng)前信息框的邊長;
第一確定子模塊,用于在所述顯示范圍內(nèi),根據(jù)所述當(dāng)前信息框的邊長和所述識(shí)別對(duì)象的顯示區(qū)域確定所述當(dāng)前信息框的移動(dòng)軌跡;
第二確定子模塊,用于在所述移動(dòng)軌跡中,確定與除當(dāng)前信息框之外的每個(gè)信息框的顯示區(qū)域不相互重合的位置為第一位置。
可選地,所述第一計(jì)算模塊包括:
計(jì)算子模塊,用于針對(duì)每個(gè)所述信息框,按照預(yù)設(shè)方向計(jì)算所述移動(dòng)軌跡上由所述預(yù)設(shè)位置至所述第一位置之間的至少一段直線的長度;
第三確定子模塊,用于將所述至少一段直線的長度的和確定為所述信息框的移動(dòng)距離。
本發(fā)明的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
本發(fā)明實(shí)施例通過首先檢測(cè)圖像中是否存在至少一個(gè)待識(shí)別的識(shí)別對(duì)象,如果存在,則為每個(gè)所述識(shí)別對(duì)象分別生成信息框;模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第一位置,所述第一位置位于環(huán)繞所述信息框?qū)?yīng)的識(shí)別對(duì)象的移動(dòng)軌跡上,不同所述信息框的顯示區(qū)域不同;然后針對(duì)每個(gè)所述信息框,確定第一位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值;如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件,可以在每個(gè)所述第一位置上分別顯示對(duì)應(yīng)的信息框。
本發(fā)明實(shí)施例提供的該方法,能夠在環(huán)繞識(shí)別對(duì)象的移動(dòng)軌跡上確定識(shí)別對(duì)象的信息框的顯示位置,然后,再以移動(dòng)軌跡為基礎(chǔ),分別確定多個(gè)信息框中的每個(gè)信息框相對(duì)于移動(dòng)軌跡上預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值,進(jìn)而確定圖像中至少一個(gè)所述信息框的代價(jià)值的和,當(dāng)圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件時(shí),能夠保證多個(gè)信息框不位于圖像的顯示區(qū)域外、多個(gè)信息框不相互重疊,且多個(gè)信息框均處于最利于用戶觀看的位置,方便用戶觀看識(shí)別對(duì)象的標(biāo)注信息。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種信息框顯示方法的流程圖;
圖2是根據(jù)一示例性實(shí)施例示出的圖1中步驟s102的流程圖;
圖3是根據(jù)一示例性實(shí)施例示出的圖1中步驟s103的流程圖;
圖4是根據(jù)一示例性實(shí)施例示出的信息框、包圍識(shí)別對(duì)象的識(shí)別框以及移動(dòng)軌跡之間的位置關(guān)系示意圖;
圖5是根據(jù)一示例性實(shí)施例示出的另一種信息框顯示方法的流程圖;
圖6是根據(jù)一示例性實(shí)施例示出的一種信息框顯示裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)一示例性實(shí)施例示出的一種終端的框圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
由于在實(shí)際應(yīng)用中,識(shí)別對(duì)象對(duì)應(yīng)的信息框可能會(huì)超出圖像的顯示范圍,某個(gè)信息框遠(yuǎn)離識(shí)別對(duì)象,任意的若干個(gè)信息框之間相互重疊覆蓋,導(dǎo)致用戶無法清楚的了解到每個(gè)識(shí)別對(duì)象對(duì)應(yīng)的信息框,為此,如圖1所示,在本發(fā)明實(shí)施例中,提供一種信息框顯示方法,該方法可以應(yīng)用于服務(wù)器或者pc機(jī)等設(shè)備,所述方法可以包括以下步驟。
在步驟s101中,如果檢測(cè)到圖像中存在至少一個(gè)待識(shí)別的識(shí)別對(duì)象,為每個(gè)所述識(shí)別對(duì)象分別生成信息框。
在本發(fā)明實(shí)施例中,每個(gè)所述識(shí)別對(duì)象對(duì)應(yīng)一個(gè)信息框,所述信息框中包含所述識(shí)別對(duì)象對(duì)應(yīng)的標(biāo)注信息,圖像可以指視頻中的幀圖像,也可以指單獨(dú)的一幅待處理的圖像等,識(shí)別對(duì)象可以指圖像中的人體特征,如:人臉等等,也可以指物品,如:衣物、生活用品、辦公用品等等,信息框指標(biāo)注信息的顯示區(qū)域的邊緣框線,標(biāo)注信息可以指識(shí)別對(duì)象的文字簡介,如:當(dāng)識(shí)別對(duì)象為人臉時(shí),標(biāo)注信息可以是張某、王某等;當(dāng)識(shí)別對(duì)象為衣物時(shí),標(biāo)注信息可以是t恤或者襯衫等等,識(shí)別對(duì)象和標(biāo)注信息在本發(fā)明實(shí)施例中不做限定,以上舉例僅用作解釋說明。
在該步驟中,可以首先使用圖像識(shí)別技術(shù)識(shí)別圖像中每個(gè)識(shí)別對(duì)象,然后記錄每個(gè)識(shí)別對(duì)象的顯示區(qū)域,在本發(fā)明實(shí)施例中,顯示區(qū)域的形狀可以與識(shí)別對(duì)象的輪廓形狀相同,也可以為包含識(shí)別對(duì)象的矩形框等。
在步驟s102中,模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第一位置。
在本發(fā)明實(shí)施例中,信息框的預(yù)設(shè)參考點(diǎn)可以指信息框的中心位置,信息框?yàn)榫匦螘r(shí),信息框的左上方直角的頂點(diǎn)位置、左上方直角的頂點(diǎn)位置或者左下方直角的頂點(diǎn)位置等等,所述第一位置位于環(huán)繞所述信息框?qū)?yīng)的識(shí)別對(duì)象的移動(dòng)軌跡上,信息框的移動(dòng)軌跡可以沿著識(shí)別對(duì)象的顯示區(qū)域邊緣,也可以距離識(shí)別對(duì)象的顯示區(qū)域邊緣固定距離,不同所述信息框的顯示區(qū)域不同,也就是說,多個(gè)信息框的顯示區(qū)域之間不相互重疊覆蓋。
在該步驟中,可以逐一為每個(gè)信息框在信息框?qū)?yīng)的移動(dòng)軌跡上設(shè)置不同的第一位置,以使不同信息框的顯示區(qū)域不相互重疊。
在實(shí)際應(yīng)用中,在設(shè)置不同信息框的第一位置時(shí),假設(shè)在后設(shè)置第一位置的信息框?yàn)榈诙畔⒖?,在先設(shè)置第一位置的信息框?yàn)榈谝恍畔⒖?,如果第二信息框?qū)?yīng)的移動(dòng)軌跡上預(yù)設(shè)位置位于第一信息框的顯示區(qū)域內(nèi),可以按照移動(dòng)軌跡的順時(shí)針或逆時(shí)針方向移動(dòng)第二信息框,直至將第二信息框移動(dòng)到與第一信息框的顯示區(qū)域不重疊且在順時(shí)針或逆時(shí)針方向上距離移動(dòng)軌跡上預(yù)設(shè)位置處最近的顯示位置,移動(dòng)軌跡上的預(yù)設(shè)位置可以指移動(dòng)軌跡上的某一位置點(diǎn),例如,假設(shè)移動(dòng)軌跡為矩形形狀,可以將預(yù)設(shè)位置設(shè)置為兩條相鄰的邊在右上角的焦點(diǎn)處等,例如:在設(shè)置第一信息框的第一位置時(shí),可以直接將第一個(gè)信息框的第一位置為預(yù)設(shè)位置,在設(shè)置第二信息框的第一位置時(shí),首先判斷第二信息框的移動(dòng)軌跡上預(yù)設(shè)位置是否位于第一信息框的顯示區(qū)域內(nèi),如果第二信息框的移動(dòng)軌跡上預(yù)設(shè)位置位于第一信息框的顯示區(qū)域內(nèi),可以按照順時(shí)針或者逆時(shí)針方向沿移動(dòng)軌跡移動(dòng)第二個(gè)信息框,直至第二信息框的顯示區(qū)域與第一個(gè)信息框的顯示區(qū)域無重疊,然后將該位置確定為第二信息框的第一位置,……依此類推,直至第n個(gè)信息框的第一位置設(shè)置完畢。
如圖2所示,所述步驟s102包括以下步驟。
步驟s1021中,獲取所述圖像的顯示范圍以及當(dāng)前信息框的邊長。
在本發(fā)明實(shí)施例中,每個(gè)信息框的邊長可能會(huì)根據(jù)標(biāo)注信息的多少而不同,所以需要確定信息框的邊長。
步驟s1022中,在所述顯示范圍內(nèi),根據(jù)所述當(dāng)前信息框的邊長和所述識(shí)別對(duì)象的顯示區(qū)域確定所述當(dāng)前信息框的移動(dòng)軌跡。
在該步驟中,可以根據(jù)當(dāng)前信息框的邊長和識(shí)別對(duì)象的顯示區(qū)域確定移動(dòng)軌跡在圖像中的坐標(biāo)。
步驟s1023中,在所述移動(dòng)軌跡中,確定與除當(dāng)前信息框之外的每個(gè)信息框的顯示區(qū)域不相互重合的位置為第一位置。
在該步驟中,可以首先將步驟s1022確定的移動(dòng)軌跡與畫面中其它信息框的顯示區(qū)域比較,如果移動(dòng)軌跡的某一段經(jīng)過其它信息框的移動(dòng)軌跡,則可以將第一位置設(shè)置在與該段移動(dòng)軌跡之外,并且,在設(shè)置第一位置時(shí),應(yīng)當(dāng)盡量保證第一位置靠近移動(dòng)軌跡上的預(yù)設(shè)位置。
在步驟s103中,針對(duì)每個(gè)所述信息框,確定第一位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值。
在本發(fā)明實(shí)施例中,假設(shè)移動(dòng)軌跡為矩形框,預(yù)設(shè)位置可以設(shè)置在矩形框的任一條邊上,假設(shè)移動(dòng)軌跡為不規(guī)則形狀,預(yù)設(shè)位置可以設(shè)置在不規(guī)則的移動(dòng)軌跡上的任一點(diǎn)等。
在該步驟中,當(dāng)移動(dòng)軌跡為矩形時(shí),可以根據(jù)移動(dòng)軌跡的各邊長計(jì)算由預(yù)設(shè)位置至第一位置之間的移動(dòng)距離;當(dāng)移動(dòng)軌跡為不規(guī)則形狀時(shí),可以將移動(dòng)軌跡劃分為多個(gè)短線段,然后根據(jù)短線段的長度計(jì)算由預(yù)設(shè)位置至第一位置之間的移動(dòng)距離;按照此種方式,計(jì)算圖像中至少兩個(gè)識(shí)別對(duì)象對(duì)應(yīng)的信息框的移動(dòng)距離,再根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值。
如圖3所示,所述步驟s103包括以下步驟。
步驟s1031中,針對(duì)每個(gè)所述信息框,按照預(yù)設(shè)方向計(jì)算所述移動(dòng)軌跡上由所述預(yù)設(shè)位置至所述第一位置之間的至少一段直線的長度;
步驟s1032中,將所述至少一段直線的長度的和確定為所述信息框的移動(dòng)距離。
如圖4所示,識(shí)別對(duì)象的顯示區(qū)域的邊緣可以設(shè)置識(shí)別框,假設(shè)識(shí)別框的邊長分別為a和b,信息框的邊長分別為c和d,虛線為移動(dòng)軌跡,信息框沿著移動(dòng)軌跡向箭頭所指的方向移動(dòng)。假定信息框的移動(dòng)距離為x,x的范圍為:0<=x<2*(a+b+c+d)。
在本發(fā)明實(shí)施例中,可以定義代價(jià)關(guān)于移動(dòng)距離x的代價(jià)函數(shù)cost(x):
當(dāng)0<=x<b+(a+c)/2時(shí),cost=αx;
當(dāng)b+(a+c)/2<=x<2b+a+c的時(shí)候,cost=α(2b+a+c-x);
當(dāng)2b+a+c<=x<3(a+c)/2+2b+d的時(shí)候,cost=α(x-2b+a+c);
當(dāng)3(a+c)/2+2b+d<=x<2*(a+b+c+d)的時(shí)候,cost=α(2a+2b+2c+2d-x);
其中,α表示彈性系數(shù),是一個(gè)任意定義的常量。
在步驟s104中,如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件,在每個(gè)所述第一位置上分別顯示對(duì)應(yīng)的信息框。
在本發(fā)明實(shí)施例中,假設(shè)畫面中一共有n個(gè)信息框,每個(gè)信息框的代價(jià)cost(xi),其中1<=i<=n,那么圖像中至少一個(gè)所述信息框的代價(jià)值的和costsum=cost(x1)+…+cost(xn)。標(biāo)注框的排版問題轉(zhuǎn)化為求costsum的最小值,所以,預(yù)設(shè)條件可以指圖像中n個(gè)信息框的總代價(jià)的最小值等。
在該步驟中,判斷所述代價(jià)值的和是否等于預(yù)設(shè)值,所述預(yù)設(shè)值為關(guān)于移動(dòng)距離的預(yù)設(shè)代價(jià)函數(shù)的最小值;如果所述代價(jià)值的和等于預(yù)設(shè)值,確定所述代價(jià)值的和滿足預(yù)設(shè)條件;如果所述代價(jià)值的和不等于預(yù)設(shè)值,確定所述代價(jià)值的和不滿足預(yù)設(shè)條件,在確定所述代價(jià)值的和滿足預(yù)設(shè)條件后,可以在每個(gè)移動(dòng)軌跡上模擬的第一位置上顯示信息框,例如,假設(shè)圖像中有三個(gè)識(shí)別對(duì)象,則在三個(gè)識(shí)別對(duì)象的移動(dòng)軌跡上的第一位置分別顯示三個(gè)識(shí)別對(duì)象對(duì)應(yīng)的信息框。
本發(fā)明實(shí)施例通過首先檢測(cè)圖像中是否存在至少一個(gè)待識(shí)別的識(shí)別對(duì)象,如果存在,則為每個(gè)所述識(shí)別對(duì)象分別生成信息框;模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第一位置,所述第一位置位于環(huán)繞所述信息框?qū)?yīng)的識(shí)別對(duì)象的移動(dòng)軌跡上,不同所述信息框的顯示區(qū)域不同;然后針對(duì)每個(gè)所述信息框,確定第一位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值;如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件,可以在每個(gè)所述第一位置上分別顯示對(duì)應(yīng)的信息框。
本發(fā)明實(shí)施例提供的該方法,能夠在環(huán)繞識(shí)別對(duì)象的移動(dòng)軌跡上確定識(shí)別對(duì)象的信息框的顯示位置,然后,再以移動(dòng)軌跡為基礎(chǔ),分別確定多個(gè)信息框中的每個(gè)信息框相對(duì)于移動(dòng)軌跡上預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值,進(jìn)而確定圖像中至少一個(gè)所述信息框的代價(jià)值的和,當(dāng)圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件時(shí),能夠保證多個(gè)信息框不位于圖像的顯示區(qū)域外、多個(gè)信息框不相互重疊,且多個(gè)信息框均處于最利于用戶觀看的位置,方便用戶觀看識(shí)別對(duì)象的標(biāo)注信息。
如圖5所示,在本發(fā)明的又一實(shí)施例中,還包括以下步驟。
在步驟s105中,如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和不滿足預(yù)設(shè)條件,模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第二位置。
在本發(fā)明實(shí)施例中,第二位置與第一位置不同,在模擬第二位置時(shí),可以沿移動(dòng)軌跡的順時(shí)針或者逆時(shí)針方向移動(dòng)一定的距離,例如,假設(shè)第一位置的坐標(biāo)為(1,1),則移動(dòng)一個(gè)坐標(biāo)單位后到達(dá)第二位置(2,1),或者,移動(dòng)一個(gè)坐標(biāo)單位后到達(dá)第二位置(1,2);也可以移動(dòng)兩個(gè)坐標(biāo)單位后到達(dá)第二位置(3,1),或者,移動(dòng)一個(gè)坐標(biāo)單位后到達(dá)第二位置(1,3),等等,以上僅用于舉例說明,不對(duì)本發(fā)明實(shí)施例構(gòu)成限定。
在該步驟中,可以將信息框沿移動(dòng)軌跡的順時(shí)針或者逆時(shí)針方向移動(dòng),移動(dòng)到與第一位置不同的第二位置。
在步驟s106中,針對(duì)每個(gè)所述信息框,計(jì)算第二位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離。
在步驟s107中,計(jì)算所述圖像中每個(gè)所述信息框的移動(dòng)距離和至少一個(gè)所述信息框的代價(jià)值的和。
在該步驟中,可以參照步驟s103的方式計(jì)算每個(gè)所述信息框的移動(dòng)距離,和圖像中至少一個(gè)所述信息框的代價(jià)值的和。
在步驟s107之后,可以返回執(zhí)行步驟s104,直至代價(jià)值的和滿足預(yù)設(shè)條件。
本發(fā)明實(shí)施例在所述代價(jià)值的和不滿足預(yù)設(shè)條件時(shí),可以模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第二位置,再針對(duì)每個(gè)所述信息框,計(jì)算第二位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離,并計(jì)算所述圖像中每個(gè)所述信息框的移動(dòng)距離,以及至少一個(gè)所述信息框的代價(jià)值的和。
本發(fā)明實(shí)施例提供的該方法,可以在至少一個(gè)所述信息框的代價(jià)值的和不滿足預(yù)設(shè)條件時(shí),自動(dòng)為信息框設(shè)置與第一位置不同的第二位置,直至至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件,能夠保證多個(gè)信息框均處于距離預(yù)設(shè)位置最近的位置,便于用戶了解識(shí)別對(duì)象對(duì)應(yīng)的標(biāo)注信息。
如圖6所示,在本發(fā)明的又一實(shí)施例中,提供一種信息框顯示裝置,包括:生成模塊11、第一模擬模塊12、第一確定模塊13和顯示模塊14。
生成模塊11,用于如果檢測(cè)到圖像中存在至少一個(gè)待識(shí)別的識(shí)別對(duì)象,為每個(gè)所述識(shí)別對(duì)象分別生成信息框,所述信息框中包含所述識(shí)別對(duì)象的標(biāo)注信息;
第一模擬模塊12,用于模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第一位置,所述第一位置位于環(huán)繞所述信息框?qū)?yīng)的識(shí)別對(duì)象的移動(dòng)軌跡上,不同所述信息框的顯示區(qū)域不同;
第一確定模塊13,用于針對(duì)每個(gè)所述信息框,確定第一位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離,并且,根據(jù)所述移動(dòng)距離和預(yù)設(shè)代價(jià)函數(shù)確定代價(jià)值;
顯示模塊14,用于在所述圖像中至少一個(gè)所述信息框的代價(jià)值的和滿足預(yù)設(shè)條件時(shí),在每個(gè)所述第一位置上分別顯示對(duì)應(yīng)的信息框。
在本發(fā)明的又一實(shí)施例中,所述裝置還包括:
第二模擬模塊,用于如果所述圖像中至少一個(gè)所述信息框的代價(jià)值的和不滿足預(yù)設(shè)條件,模擬每個(gè)所述信息框的預(yù)設(shè)參考點(diǎn)在所述圖像中的第二位置,所述第二位置與第一位置不同;
第一計(jì)算模塊,用于針對(duì)每個(gè)所述信息框,計(jì)算第二位置與所述移動(dòng)軌跡上的預(yù)設(shè)位置之間的移動(dòng)距離;
第二計(jì)算模塊,用于計(jì)算所述圖像中每個(gè)所述信息框的移動(dòng)距離和至少一個(gè)所述信息框的代價(jià)值的和。
在本發(fā)明的又一實(shí)施例中,所述裝置還包括:
判斷模塊,用于判斷所述代價(jià)值的和是否等于預(yù)設(shè)值,所述預(yù)設(shè)值為關(guān)于移動(dòng)距離的預(yù)設(shè)代價(jià)函數(shù)的最小值;
第二確定模塊,用于如果所述代價(jià)值的和等于預(yù)設(shè)值,確定所述代價(jià)值的和滿足預(yù)設(shè)條件;
第三確定模塊,用于如果所述代價(jià)值的和不等于預(yù)設(shè)值,確定所述代價(jià)值的和不滿足預(yù)設(shè)條件。
在本發(fā)明的又一實(shí)施例中,所述第一模擬模塊包括:
獲取子模塊,用于獲取所述圖像的顯示范圍以及當(dāng)前信息框的邊長;
第一確定子模塊,用于在所述顯示范圍內(nèi),根據(jù)所述當(dāng)前信息框的邊長和所述識(shí)別對(duì)象的顯示區(qū)域確定所述當(dāng)前信息框的移動(dòng)軌跡;
第二確定子模塊,用于在所述移動(dòng)軌跡中,確定與除當(dāng)前信息框之外的每個(gè)信息框的顯示區(qū)域不相互重合的位置為第一位置。
在本發(fā)明的又一實(shí)施例中,所述第一計(jì)算模塊包括:
計(jì)算子模塊,用于針對(duì)每個(gè)所述信息框,按照預(yù)設(shè)方向計(jì)算所述移動(dòng)軌跡上由所述預(yù)設(shè)位置至所述第一位置之間的至少一段直線的長度;
第三確定子模塊,用于將所述至少一段直線的長度的和確定為所述信息框的移動(dòng)距離。
圖7是本發(fā)明又一實(shí)施例提供的執(zhí)行信息框顯示方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖,如圖7所示,該設(shè)備包括:
一個(gè)或多個(gè)處理器710以及存儲(chǔ)器720,圖7中以一個(gè)處理器710為例。
執(zhí)行信息框顯示方法的設(shè)備還可以包括:輸入裝置730和輸出裝置740。
處理器710、存儲(chǔ)器720、輸入裝置730和輸出裝置740可以通過總線或者其他方式連接,圖7中以通過總線連接為例。
存儲(chǔ)器720作為一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非易失性軟件程序、非易失性計(jì)算機(jī)可執(zhí)行程序以及模塊,如本申請(qǐng)實(shí)施例中的信息框顯示方法對(duì)應(yīng)的程序指令/模塊(例如,附圖6所示的生成模塊11、第一模擬模塊12、第一確定模塊13和顯示模塊14)。處理器710通過運(yùn)行存儲(chǔ)在存儲(chǔ)器720中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例信息框顯示方法。
存儲(chǔ)器720可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)信息框顯示裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器720可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器720可選包括相對(duì)于處理器710遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至信息框顯示裝置。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
輸入裝置730可接收輸入的數(shù)字或字符信息,以及產(chǎn)生與信息框顯示裝置的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。輸出裝置740可包括顯示屏等顯示設(shè)備。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器720中,當(dāng)被所述一個(gè)或者多個(gè)處理器710執(zhí)行時(shí),執(zhí)行上述任意方法實(shí)施例中的信息框顯示方法。
上述產(chǎn)品可執(zhí)行本申請(qǐng)實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本申請(qǐng)實(shí)施例所提供的方法。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由所附的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。