專利名稱:圖像識(shí)別裝置、圖像識(shí)別系統(tǒng)及圖像識(shí)別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于從拍攝裝置所拍攝的圖像中檢測規(guī)定的拍攝對(duì)象的圖像識(shí)別裝置、圖像識(shí)別系統(tǒng)及圖像識(shí)別方法。
背景技術(shù):
目前,已經(jīng)存在從攝像機(jī)等拍攝裝置所拍攝的圖像(拍攝圖像)中檢測規(guī)定的拍攝對(duì)象的技木。例如,非專利文獻(xiàn)I中記載了 在增強(qiáng)現(xiàn)實(shí)技術(shù)中,對(duì)用攝像機(jī)所拍攝到的拍攝圖像中包含的標(biāo)記進(jìn)行圖像識(shí)別處理的技木。具體而言,非專利文獻(xiàn)I中記載著通過用固定的閾值對(duì)拍攝圖像進(jìn)行ニ值化處理,來提取連接區(qū)域,并從所提取出的連接區(qū)域中選擇大小及形狀合適的圖像作為標(biāo)記候補(bǔ),并對(duì)標(biāo)記候補(bǔ)進(jìn)行模式匹配,從而檢測出標(biāo)記。然而,采用記載于非專利文獻(xiàn)I中的檢測標(biāo)記的方法,在某些情況下(例如,明亮、昏暗、標(biāo)記的一部分被用戶的手指等遮蔽、標(biāo)記相對(duì)攝像機(jī)不朝向正面、強(qiáng)烈的光線被標(biāo)記反射等情況下)不一定能夠以高精度或較小的處理負(fù)荷來檢測標(biāo)記。并且,記載于非專利文獻(xiàn)I的檢測標(biāo)記的方法不能防止標(biāo)記的檢測位置的抖動(dòng)。非專利文獻(xiàn)加藤博一,MarkBillinghurst,淺野浩一,橘啓八郎、「マーカー追跡に基づく拡張現(xiàn)実感システムとそのキヤリブレーシヨン」(基于標(biāo)記追蹤的增強(qiáng)現(xiàn)實(shí)系統(tǒng)及其校準(zhǔn))、日本バーチヤルリアリテイ學(xué)會(huì)論文誌Vol. 4No. 4、1999年(日本虛擬現(xiàn)實(shí)學(xué)會(huì)論文雜志,Vol. 4No. 4,1999年)
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種能夠以較高的精度或較小的處理負(fù)荷來檢測出圖像中的規(guī)定物體或圖案的圖像識(shí)別裝置、圖像識(shí)別系統(tǒng)及圖像識(shí)別方法,或者能夠防止或減輕所檢測的規(guī)定物體或圖案的位置的微小抖動(dòng)的圖像識(shí)別裝置、圖像識(shí)別系統(tǒng)及圖像識(shí)別方法。為了解決上述技術(shù)問題,本發(fā)明采用以下構(gòu)成。本發(fā)明的第一構(gòu)成例是ー種圖像識(shí)別裝置,包括圖像獲取単元、差值計(jì)算単元、閾值計(jì)算単元、及邊界像素檢測單元。上述圖像獲取単元用于獲取圖像。上述差值計(jì)算単元計(jì)算第一像素的像素值與第ニ像素的像素值之間的差值,其中,上述第一像素的像素值是上述圖像中的像素,上述第二像素是與上述第一像素相隔n個(gè)像素的位置上存在的像素,n為規(guī)定的整數(shù)。上述閾值計(jì)算單元根據(jù)上述差值大于或等于規(guī)定值時(shí)的上述第一像素或者其附近的像素的像素值、及對(duì)應(yīng)于該第一像素的上述第二像素或者其附近的像素的像素值,來計(jì)算邊界判斷閾值。上述邊界像素檢測單元通過將位于上述第一像素和上述第二像素之間的各個(gè)像素的像素值與上述邊界判斷閾值進(jìn)行比較,來檢測出與存在于上述第一像素和上述第二像素之間的邊界對(duì)應(yīng)的邊界像素。根據(jù)上述構(gòu)成例,能夠使用與圖像的整體或一部分的亮度相應(yīng)的合適的邊界判斷閾值來檢測出邊界像素。另外,作為變形例,上述閾值計(jì)算單元還可以包括第一檢測部和第一計(jì)算部,該第ー檢測部從上述第一像素和上述第二像素中像素值較大的像素、及其周邊的像素的像素值之中檢測出極大值,該第一計(jì)算部根據(jù)上述第一檢測部所檢測出的極大值來計(jì)算上述邊界判斷閾值。根據(jù)上述變形例,即使在第一像素(或第二像素)是邊界附近的像素的情況下,也能夠算出合適的邊界判斷閾值。 另外,作為其它變形例,上述第一檢測部也可以通過從上述第一像素和上述第二像素中像素值較大的像素起沿著背朝像素值較小的像素的方向,依次判斷相鄰的2個(gè)像素之間的像素值的大小關(guān)系,來檢測上述極大值。另外,作為其它變形例,上述閾值計(jì)算單元也可以包括第二判斷部和第二計(jì)算部,該第二判斷部判斷特定附近像素的像素值是否滿足規(guī)定條件,該特定附近像素是指,從上述第一像素和上述第二像素中像素值較小的像素來看,在背朝像素值較大的像素的ー側(cè),且與該像素值較小的像素相隔m個(gè)像素的位置上存在的像素,m為規(guī)定的整數(shù);該第二計(jì)算部在上述第二判斷部判斷為上述規(guī)定條件被滿足的情況下,根據(jù)上述特定附近像素的像素值來計(jì)算上述邊界判斷閾值。根據(jù)上述變形例,即使在上述圖像是被施加了邊界強(qiáng)調(diào)處理之后的圖像的情況下,也能夠算出合適的邊界判斷閾值。另外,作為其它變形例,也可以在上述第一像素和上述第二像素中像素值較小的像素的像素值小于上述特定附近像素的像素值,而且上述第一像素和上述第二像素中像素值較大的像素或者其附近的像素的像素值、與上述特定附近像素的像素值之間的差值大于或等于上述規(guī)定值的情況下,上述第二判斷部判斷為上述規(guī)定條件被滿足。另外,作為其它變形例,上述閾值計(jì)算單元也可以將上述第一像素或者其附近的像素的像素值與上述第二像素或者其附近的像素的像素值的平均值作為上述邊界判斷閾值算出。另外,作為其它變形例,上述圖像識(shí)別裝置還可以包括其它邊界像素檢測單元,該其它邊界像素檢測單元根據(jù)上述邊界判斷閾值來檢測出其他部分的邊界像素,該其他部分的邊界像素是指,位干與上述邊界像素檢測單元所檢測出的邊界像素相對(duì)應(yīng)的那一部分邊界之外的邊界上的像素。根據(jù)上述變形例,能夠高效率地檢測出多個(gè)邊界像素。另外,作為其它變形例,上述其它邊界像素檢測單元也可以根據(jù)上述邊界判斷閾值,從與已檢測出的邊界像素相鄰的多個(gè)像素中檢測出與該邊界像素相連的新的邊界像素。另外,作為其它變形例,上述圖像識(shí)別裝置還可以包括相同判斷単元,該相同判斷単元判斷上述其它邊界像素檢測單元所檢測出的新的邊界像素是否是與已檢測出來的任何邊界像素相同;若上述相同判斷單元連續(xù)規(guī)定次數(shù)地判斷為上述其它邊界像素檢測單元依次檢測出的新的邊界像素與已檢測出來的任何邊界像素相同,則上述其它邊界像素檢測単元也可以中止依次檢測新的邊界像素的處理。根據(jù)上述變形例,能夠避免對(duì)不正常的輪廓進(jìn)行無用的處理。
另外,作為其它變形例,在上述第一像素和上述第二像素中像素值較大的像素的像素值小于其周邊的像素的像素值的情況下,上述閾值計(jì)算單元也可以根據(jù)該周邊的像素的像素值來計(jì)算上述邊界判斷閾值。
根據(jù)上述變形例,即使在第一像素(或第二像素)是邊界附近的像素的情況下,也能夠算出合適的邊界判斷閾值。本發(fā)明的第二構(gòu)成例是ー種圖像識(shí)別方法,包括圖像獲取步驟、差值計(jì)算步驟、閾值計(jì)算步驟、及邊界像素檢測步驟。在上述圖像獲取步驟中獲取圖像;在上述差值計(jì)算步驟中,計(jì)算第一像素的像素值與第二像素的像素值之間的差值,其中,上述第一像素是上述圖像中的像素,上述第二像素是與第一像素相隔n個(gè)像素的位置上存在的像素,n為規(guī)定的整數(shù);在上述閾值計(jì)算步驟中,根據(jù)上述差值大于或等于規(guī)定值時(shí)的上述第一像素或者其附近的像素的像素值、及對(duì)應(yīng)于該第一像素的上述第二像素或者其附近的像素的像素值,來計(jì)算邊界判斷閾值;在上述邊界像素檢測步驟中,通過將位于上述第一像素和上述第二像素之間的各個(gè)像素的像素值與上述邊界判斷閾值進(jìn)行比較,來檢測出與存在于上述第一像素和上述第二像素之間的邊界對(duì)應(yīng)的邊界像素。本發(fā)明的第三構(gòu)成例是ー種具備圖像識(shí)別裝置和標(biāo)記的圖像識(shí)別系統(tǒng)。上述圖像識(shí)別裝置包括拍攝部、圖像獲取単元、差值計(jì)算単元、閾值計(jì)算單元、及邊界像素檢測單元,上述拍攝部拍攝上述標(biāo)記;上述圖像獲取單元從上述拍攝部獲取圖像;上述差值計(jì)算単元計(jì)算第一像素的像素值與第二像素的像素值之間的差值,其中,上述第一像素是上述圖像中的像素,上述第二像素是與上述第一像素相隔n個(gè)像素的位置上存在的像素,n為規(guī)定的整數(shù);上述閾值計(jì)算單元根據(jù)上述差值大于或等于規(guī)定值時(shí)的上述第一像素或者其附近的像素的像素值、及對(duì)應(yīng)于該第一像素的上述第二像素或者其附近的像素的像素值,來計(jì)算邊界判斷閾值;上述邊界像素檢測單元通過將位于上述第一像素和上述第二像素之間的各個(gè)像素的像素值與上述邊界判斷閾值進(jìn)行比較,來檢測出與存在于上述第一像素和上述第ニ像素之間的邊界對(duì)應(yīng)的邊界像素。根據(jù)本發(fā)明的上述各構(gòu)成例,能夠以較高的精度檢測出圖像中的規(guī)定物體或圖案的輪廓。在參照附圖進(jìn)行下述詳細(xì)的說明之后,本發(fā)明的各種目的、特征、方面、效果將會(huì)更加明確。
圖I是在開啟狀態(tài)下的游戲裝置10的正視圖。圖2A是閉合狀態(tài)下的游戲裝置10的左視圖。圖2B是閉合狀態(tài)下的游戲裝置10的正視圖。圖2C是閉合狀態(tài)下的游戲裝置10的右視圖。圖2D是閉合狀態(tài)下的游戲裝置10的后視圖。圖3是表示游戲裝置10的內(nèi)部構(gòu)成的方框圖。圖4是表示顯示在上部IXD22的屏幕上的圖像的圖。圖5是表示標(biāo)記50的圖。圖6是表示由外側(cè)拍攝部(左)23a或外側(cè)拍攝部(右)23b拍攝的實(shí)拍圖像的圖。
圖7是表示實(shí)拍圖像中的注目像素的選擇順序的圖。圖8是用于說明邊界判斷閾值的確定方法的圖。圖9是用于說明邊界判斷閾值的確定方法的圖。圖10是用于說明邊界判斷閾值的確定方法的圖。圖11是用于說明邊界判斷閾值的確定方法的圖。圖12是用于說明邊界判斷閾值的確定方法的圖。圖13是用于說明邊界追蹤處理的圖。圖14是用于說明邊界追蹤處理的圖。 圖15是用于說明邊界追蹤處通的圖。圖16是用于說明邊界追蹤處理的圖。圖17是用于說明邊界追蹤處理的圖。圖18是用于說明邊界追蹤處理的圖。圖19是用于說明邊界追蹤處理的圖。圖20是用于說明邊界追蹤處理的圖。圖21是用于說明邊界追蹤處理的圖。圖22是用于說明直線計(jì)算處理的圖。圖23是用于說明直線計(jì)算處理的圖。圖24是用于說明直線計(jì)算處理的圖。圖25是用于說明直線計(jì)算處理的圖。圖26是用于說明直線計(jì)算處理的圖。圖27是用于說明直線計(jì)算處理的圖。圖28是用于說明直線計(jì)算處理的圖。圖29是用于說明直線計(jì)算處理的圖。圖30是用于說明直線計(jì)算處理的圖。圖31是用于說明直線計(jì)算處理的圖。圖32是用于說明直線計(jì)算處理的圖。圖33是用于說明直線計(jì)算處理的圖。圖34是用于說明直線計(jì)算處理的圖。圖35是用于說明直線計(jì)算處理的圖。圖36是用于說明直線計(jì)算處理的圖。圖37是用于說明直線統(tǒng)合處理的圖。圖38是用于說明直線統(tǒng)合處理的圖。圖39是用于說明直線統(tǒng)合處理的圖。圖40是用于說明直線選擇處理的圖。圖41是用于說明直線選擇處理的圖。圖42是用于說明頂點(diǎn)計(jì)算處理的圖。圖43是用于說明頂點(diǎn)計(jì)算處理的圖。圖44是用于說明粗略判別處理中的第一除外條件的圖。圖45是用于說明粗略判別處理中的第二除外條件的圖。
圖46是用于說明粗略判別處理中的第三除外條件的圖。圖47是用于說明粗略判別處理中的第四除外條件的圖。圖48是用于說明圖案判別處理中所使用的模式定義數(shù)據(jù)的圖。圖49是用于說明圖案判別處理中所使用的模式定義數(shù)據(jù)的圖。圖50是表示包含標(biāo)記50的實(shí)拍圖像的圖。圖51是表示實(shí)拍圖像中的采樣點(diǎn)的位置的確定方法的一例的圖。圖52是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法的圖。圖53是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法的圖。圖54是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法的圖。圖55是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法的圖。圖56是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法的圖。圖57是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法的圖。圖58是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法的圖。圖59是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第二確定方法的圖。圖60是用于說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第二確定方法的圖。圖61是用于說明在當(dāng)前的實(shí)拍圖像中未檢測出標(biāo)記的輪廓及頂點(diǎn)的情況下執(zhí)行的圖案判別處理的圖。圖62是用于說明在當(dāng)前的實(shí)拍圖像中未檢測出標(biāo)記的輪廓及頂點(diǎn)的情況下執(zhí)行的圖案判別處理的圖。圖63是用于說明標(biāo)記位置修改處理的圖。 圖64是用于說明標(biāo)記位置修改處理的圖。圖65是用于說明標(biāo)記位置修改處理的圖。圖66是用于說明按照實(shí)拍圖像上的標(biāo)記的大小而變更閾值Dl及閾值D2的大小的理由的圖。圖67是用于說明按照實(shí)拍圖像上的標(biāo)記的大小而變更閾值Dl及閾值D2的大小的理由的圖。圖68是表示閾值Dl的確定方法的圖。圖69是表示閾值D2的確定方法的圖。圖70是用于說明標(biāo)記位置修改處理的變形例的圖。圖71是用于說明標(biāo)記位置修改處理的另ー個(gè)變形例的圖。圖72是用于說明標(biāo)記的對(duì)應(yīng)關(guān)系的判別方法的圖。圖73是主存儲(chǔ)器32的存儲(chǔ)分配圖。圖74是表示圖像識(shí)別處理整體的流程的流程圖。圖75是表示輪廓檢測處理的流程的流程圖。圖76是表示頂點(diǎn)檢測處理的流程的流程圖。圖77是表示粗略判別處理的流程的流程圖。圖78是表不圖案判別處通的流程的流程圖。圖79是表示標(biāo)記位置修改處理的流程的流程圖。
具體實(shí)施例方式〈游戲裝置的構(gòu)成〉以下,對(duì)本發(fā)明的一個(gè)實(shí)施方式所涉及的游戲裝置進(jìn)行說明。游戲裝置10是便攜式游戲裝置。如圖I及圖2A D所示,游戲裝置10包括下殼體11及上殼體21。下殼體11與上殼體21能夠開合(能夠折疊)地連接?!聪職んw的說明〉如圖I及圖2A D所示,在下殼體11上設(shè)置有下部IXD(Liquid CrystalDisplay :液晶顯示裝置)12、觸摸面板13、各個(gè)操作按鈕14A 14L、模擬搖桿15、LED16A 16B、插入口 17及傳聲器用孔18。觸摸面板13被裝設(shè)在下部IXD12的屏幕上。在下殼體11的上側(cè)面設(shè)置有用于收納觸控筆28的插入口 17(圖I及圖2D所示的虛線)。在下殼體11的內(nèi)側(cè)面(主面)設(shè)置有十字按鈕14A(方向輸入按鈕14A)、按鈕14B、按鈕14C、按鈕14D、按鈕14E、電源按鈕14F、選擇按鈕14J、HOME按鈕14K及啟動(dòng)按鈕14L。模擬搖桿15是指示方向的器件。在下殼體11的內(nèi)側(cè)面設(shè)置有傳聲器用孔18。在傳聲器用孔18的下部設(shè)置有后述的作為聲音輸入裝置的傳聲器42 (參照?qǐng)D3)。如圖2B及D所示,下殼體11的上側(cè)面設(shè)置有L按鈕14G及R按鈕14H。另外,如圖2A所示,在下殼體11的左側(cè)面設(shè)置有用于調(diào)節(jié)游戲裝置10所具備的揚(yáng)聲器43 (參照?qǐng)D3)的音量的音量按鈕141。如圖2A所示,在下殼體11的左側(cè)面設(shè)置有可開合的翻蓋部11C。該翻蓋部IlC的內(nèi)側(cè)設(shè)置有用于實(shí)現(xiàn)游戲裝置10與數(shù)據(jù)保存用外部存儲(chǔ)器45之間的電連接的連接器。如圖2D所示,在下殼體11的上側(cè)面設(shè)置有用于插入外部存儲(chǔ)器44的插入口 11D。如圖I及圖2C所示,在下殼體11的下側(cè)面設(shè)置有向用戶通知游戲裝置10的電源的(^/0 狀況的第ー1^016ム,在下殼體11的右側(cè)面設(shè)置有向用戶通知游戲裝置10的無線通信的建立狀況的第二 LED16B。游戲裝置10與其它設(shè)備之間能夠進(jìn)行無線通信,在下殼體11的右側(cè)面設(shè)置有使該無線通信的功能有效/無效的無線開關(guān)19 (參照?qǐng)D2C)?!瓷蠚んw的說明〉如圖I及如圖2所示,上殼體21設(shè)置有:上部LCD (Liquid Crystal Display :液晶顯示裝置)22、外側(cè)拍攝部23 (外側(cè)拍攝部(左)23a及外側(cè)拍攝部(右)23b)、內(nèi)側(cè)拍攝部24、3D調(diào)整開關(guān)25及3D指示器26。上部IXD22是能夠顯示能夠產(chǎn)生立體視覺的圖像的顯示裝置。具體地,它是使用視差屏障方式的能夠產(chǎn)生裸眼立體視覺的顯示裝置。上部LCD22利用視差屏障,使用戶的左眼看到左眼用圖像,右眼看到右眼用圖像,由此能夠顯示對(duì)于用戶而言具有立體感的立體圖像(能夠產(chǎn)生立體視覺的圖像)。此外,上部IXD22能夠使上述視差屏障無效,在使視差屏障無效的情況下,能夠?qū)D像進(jìn)行平面顯示。這樣,上部IXD22是能夠在顯示立體視覺圖像的立體顯示模式、與對(duì)圖像進(jìn)行平面顯示(顯示平面視覺圖像)的平面顯示模式之間進(jìn)行切換的顯示裝置。該顯示模式的切換例如可以通過后述的3D調(diào)節(jié)開關(guān)25來進(jìn)行。外側(cè)拍攝部23是設(shè)置于上殼體21的外側(cè)面21D的兩個(gè)拍攝部(23a及23b)的總稱。外側(cè)拍攝部(左)23a和外側(cè)拍攝部(右)23b根據(jù)游戲裝置10所執(zhí)行的程序,能夠作為立體攝像機(jī)使用。內(nèi)側(cè)拍攝部24被設(shè)置于上殼體21的內(nèi)側(cè)面(主面)21B,并且是將該內(nèi)側(cè)面的向內(nèi)的法線方向作為拍攝方向的拍攝部。3D調(diào)節(jié)開關(guān)25是滑動(dòng)開關(guān),并且如上所述那樣是用于切換上部IXD22的顯示模式的開關(guān)。并且,3D調(diào)節(jié)開關(guān)25用于調(diào)節(jié)上部IXD22所顯示的能夠產(chǎn)生立體視覺的圖像(立體圖像)的立體感。3D調(diào)節(jié)開關(guān)25的滑塊25a能夠在規(guī)定方向(上下方向)上滑動(dòng)到任何位置,根據(jù)該滑塊25a的位置來設(shè)定上部IXD22的顯示模式。并且,根據(jù)滑塊25a的位置來調(diào)節(jié)立體圖像的立體感。3D指示器26是表示上部IXD22是否是立體顯示模式的LED。另外,在上殼體21的內(nèi)側(cè)面設(shè)置有揚(yáng)聲器孔21E。從該揚(yáng)聲器孔21E輸出來自后 述的揚(yáng)聲器43的聲音。<游戲裝置10的內(nèi)部構(gòu)成>下面,參照?qǐng)D3,說明游戲裝置10的內(nèi)部電結(jié)構(gòu)。如圖3所示,游戲裝置I除了上述的各個(gè)部以外,還具備信息處理部31、主存儲(chǔ)器32、外部存儲(chǔ)器接ロ(外部存儲(chǔ)器I/F) 33、數(shù)據(jù)保存用外部存儲(chǔ)器I/F34、數(shù)據(jù)保存用內(nèi)部存儲(chǔ)器35、無線通信模塊36、局部通信模塊37、實(shí)時(shí)時(shí)鐘(RTC) 38、加速度傳感器39、電源電路40及接ロ電路(I/F電路)41等電子元件。信息處理部31包括用于執(zhí)行規(guī)定的程序的中央處理器(Central ProcessingUnit :CPU) 311、進(jìn)行圖像處理的圖形處理器(Graphics Processing Unit :GPU) 312、視頻RAM (Video RAM,VRAM) 313等。CPU311通過執(zhí)行保存在游戲裝置10內(nèi)的存儲(chǔ)器(例如連接于外部存儲(chǔ)器I/F33的外部存儲(chǔ)器44或數(shù)據(jù)保存用內(nèi)部存儲(chǔ)器35)中的程序,來執(zhí)行與該程序相應(yīng)的處理。此外,由CPU311所執(zhí)行的程序可以通過與其他設(shè)備進(jìn)行通信而從其他設(shè)備獲得。GPU312按照來自CPU311的指令來生成圖像,并繪制到VRAM313。繪制到VRAM313的圖像被輸出到上部IXD22及/或下部IXD2,從而在上部IXD22及/或下部IXD2顯示該圖像。外部存儲(chǔ)器I/F33是用于與外部存儲(chǔ)器44拆卸自由地連接的接ロ。并且,數(shù)據(jù)保存用外部存儲(chǔ)器I/F34是用于與數(shù)據(jù)保存用外部存儲(chǔ)器45拆卸自由地連接的接ロ。主存儲(chǔ)器32是用作信息處理部31 (的CPU311)的工作區(qū)或緩沖區(qū)的易失性存儲(chǔ)裝置。外部存儲(chǔ)器44是用于存儲(chǔ)信息處理部31所執(zhí)行的程序等的非易失性存儲(chǔ)裝置。外部存儲(chǔ)器44例如由讀取專用型的半導(dǎo)體存儲(chǔ)器構(gòu)成。數(shù)據(jù)保存用外部存儲(chǔ)器45由非易失性的可讀寫的存儲(chǔ)器(例如NAND閃存)構(gòu)成,用于儲(chǔ)存任意的數(shù)據(jù)。數(shù)據(jù)保存用內(nèi)部存儲(chǔ)器35由可讀寫的非易失性存儲(chǔ)器(例如NAND型閃存)構(gòu)成,用于儲(chǔ)存規(guī)定的數(shù)據(jù)。例如,數(shù)據(jù)保存用內(nèi)部存儲(chǔ)器35中保存有利用經(jīng)由無線通信模塊36的無線通信而下載的數(shù)據(jù)或程序。無線通信模塊36具有例如采用基于IEEE802. 11. b/g規(guī)格的方式來接入無線LAN的功能。此外,局部通信模塊37具有通過規(guī)定的通信方式(例如,基于獨(dú)自的協(xié)議的通信或紅外通信),而在同種游戲裝 置之間進(jìn)行無線通信的功能。加速度傳感器39檢測沿三個(gè)軸(xyz軸)方向的直線方向的加速度(直線加速度)的大小。信息處理部31通過接收表示由加速度傳感器39檢測出的加速度的數(shù)據(jù)(加速度數(shù)據(jù)),能夠檢測出游戲裝置10的姿勢或動(dòng)作。RTC38對(duì)時(shí)間進(jìn)行計(jì)吋,并將計(jì)時(shí)結(jié)果輸出給信息處理部31。信息處理部31基于RTC38的計(jì)時(shí)結(jié)果來計(jì)算當(dāng)前時(shí)刻(日期)。電源電路40控制來自游戲裝置10所具有的電源(充電式電池)的電力,并向游戲裝置10的各個(gè)元件供電。I/F電路41上連接有觸摸面板13、傳聲器42以及揚(yáng)聲器43。I/F電路41包括對(duì)傳聲器42及揚(yáng)聲器43 (放大器)進(jìn)行控制的聲音控制電路、以及對(duì)觸摸面板進(jìn)行控制的觸摸面板控制電路。聲音控制電路對(duì)聲音信號(hào)進(jìn)行A/D轉(zhuǎn)換以及D/A轉(zhuǎn)換,或?qū)⒙曇粜盘?hào)轉(zhuǎn)換成規(guī)定格式的聲音數(shù)據(jù)。觸摸面板控制電路基于來自觸摸面板13的信號(hào)來生成規(guī)定格式的觸摸位置數(shù)據(jù),并將該數(shù)據(jù)輸出給信息處理部31。信息處理部31通過獲取觸摸位置數(shù)據(jù),能夠得知對(duì)觸摸面板13進(jìn)行了輸入的位置。操作按鈕14包括上述各個(gè)操作按鈕14A 14L,從操作按鈕14向信息處理部31輸出表示對(duì)各個(gè)操作按鈕14A 141進(jìn)行輸入的狀況(是否被按下)的操作數(shù)據(jù)。下部IXD12及上部IXD22連接于信息處理部31。具體地,信息處理部31連接于上部LCD22的LCD控制器(未圖示),并對(duì)該LCD控制器進(jìn)行視差屏障的0N/0FF控制。當(dāng)上部IXD22的視差屏障為ON時(shí),信息處理部31的VRAM313中所儲(chǔ)存的右眼用圖像和左眼用圖像被輸出到上部LCD22。更具體地,LCD控制器通過交替地執(zhí)行對(duì)右眼用圖像讀出縱向上的I列像素?cái)?shù)據(jù)的處理、和對(duì)左眼用圖像讀出縱向上的I列像素?cái)?shù)據(jù)的處理,來從VRAM313讀出右眼用圖像和左眼用圖像。由此,右眼用圖像和左眼用圖像被分割成像素在縱向按列排列的帶狀圖像,被分割后的右眼用圖像的帶狀圖像和左眼用圖像的帶狀圖像交替地配置的圖像被顯示在上部IXD22的屏幕上。由于用戶是隔著上部IXD22的視差屏障來看該圖像,所以右眼能夠看到右眼用圖像,左眼能夠看到左眼用圖像。從而,在上部IXD22的屏幕上所顯示的圖像能夠產(chǎn)生立體視覺。外側(cè)拍攝部23及內(nèi)側(cè)拍攝部24按照信息處理部31的指示來拍攝圖像,并將所拍攝的圖像數(shù)據(jù)輸出給信息處理部31。3D調(diào)節(jié)開關(guān)25將相應(yīng)于滑塊25a的位置的電信號(hào)發(fā)送給信息處理部31。信息處理部31控制3D指示器26的亮燈。例如,當(dāng)上部IXD22是立體顯示模式吋,信息處理部31使3D指示器26亮燈。<圖像處理的概要>下面,參照?qǐng)D4 圖72,對(duì)于在游戲裝置10中所執(zhí)行的圖像處理的概要進(jìn)行說明。游戲裝置10中所執(zhí)行的圖像處理包括圖像識(shí)別處理及圖像生成處理。圖像識(shí)別處理是檢測由攝像機(jī)(外側(cè)拍攝部(左)23a或外側(cè)拍攝部(右)23b)拍攝的圖像(實(shí)拍圖像)中所包含的標(biāo)記的位置的處理。圖像生成處理是利用圖像識(shí)別處理的結(jié)果來生成應(yīng)顯示在上部IXD22上的圖像的處理。游戲裝置10的CPU311利用圖像識(shí)別處理的結(jié)果,在上部IXD22上顯示出猶如在現(xiàn)實(shí)世界中的標(biāo)記的周圍(例如在標(biāo)記上)實(shí)際存在虛擬對(duì)象那樣的圖像。例如,圖4的例中,在游戲裝置10的上部IXD22上,顯示出似乎在桌子上的標(biāo)記50上實(shí)際存在模擬小狗的虛擬對(duì)象60的圖像。這樣的圖像是通過對(duì)攝像機(jī)所拍攝的實(shí)拍圖像與虛擬對(duì)象60的圖像(虛擬空間圖像)進(jìn)行合成而得到的。虛擬空間圖像對(duì)應(yīng)于配置于虛擬空間中的虛擬攝像機(jī)而被繪制,虛擬空間中的虛擬攝像機(jī)與虛擬對(duì)象之間的位置關(guān)系(相對(duì)位置及姿勢)被實(shí)時(shí)地控制為,和現(xiàn)實(shí)空間中的攝像機(jī)(外側(cè)拍攝部(左)23a或外側(cè)拍攝部(右)23b)與標(biāo)記50之間的位置關(guān)系相一致。由此,可以得到虛擬對(duì)象60似乎實(shí)際存在于現(xiàn)實(shí)空間那樣的圖像。如圖5所示,標(biāo)記50為方形,具有外周的白色區(qū)域和由白色區(qū)域圍繞的黒色區(qū)域,在黒色區(qū)域的內(nèi)部畫出了規(guī)定的內(nèi)部圖形(在此作為一個(gè)例子是箭頭)。此外,雖然在本實(shí)施方式中使用了如圖5所示的標(biāo)記50,但是這只不過是ー個(gè)例子,也可以使用其它形狀、其它圖樣、其它顏色的標(biāo)記。例如,也可以是在外周的黒色區(qū)域的內(nèi)部設(shè)有白色區(qū)域。另外,取代白色區(qū)域或黒色區(qū)域,也可以設(shè)定其它顏色的區(qū)域,但是,最好使用明暗對(duì)比度高的顏色組合,以便進(jìn)行后述的輪廓檢測處理。圖6是攝像機(jī)(外側(cè)拍攝部(左)23a或外側(cè)拍攝部(右)23b)所拍攝的圖像(實(shí)拍圖像)的一例。實(shí)拍圖像例如由512像素(水平方向)X384像素(垂直方向)構(gòu)成。為了從如圖6所示的實(shí)拍圖像中檢測出標(biāo)記50的位置,在本實(shí)施方式中進(jìn)行如下所述的處理。(I)輪廓檢測處理(2)頂點(diǎn)檢測處理(3)粗略判別處理(4)圖案判別處理(5)標(biāo)記位置修改處理〈輪廓檢測處理〉首先說明輪廓檢測處理。輪廓檢測處理是在實(shí)拍圖像中檢測畫在標(biāo)記50上的圖案的輪廓(如圖5所示的白色區(qū)域和黒色區(qū)域的界線)的處理。本實(shí)施方式中,首先,在實(shí)拍圖像中,將(16,16)的坐標(biāo)所示的像素作為注目像素,根據(jù)該注目像素的亮度值和從該注目像素的左鄰像素起向左數(shù)第八個(gè)像素(8,16)的亮度值,來判斷在該兩個(gè)像素之間的某處是否存在邊界(左側(cè)為白色區(qū)域而右側(cè)為黑色區(qū)域的邊界)(判斷方法的詳情將于后述)。然后,在判斷為不存在邊界的情況下,如圖7所示,將從當(dāng)前的注目像素(16,16)的右鄰像素起向右數(shù)第八個(gè)像素(24,16)作為新的注目像素,井根據(jù)該注目像素的亮度值、和從該注目像素的左鄰像素起向左數(shù)第八個(gè)像素(即,之前的注目像素(16,16))的亮度值來判斷該兩個(gè)像素之間的某處是否存在邊界。以后,一邊依次更新注目像素,一邊進(jìn)行同樣的處理。在Y坐標(biāo)值為16的那一行上處理完畢之后,在從該行起向下數(shù)第16行(即Y坐標(biāo)值為32的那一行)上進(jìn)行同樣的處理。另外,上述的選擇注目像素的方法只不過是一例,不局限于此。以下說明中,將注目像素表示為像素P (n),將從注目像素的左鄰像素起向左數(shù)第k個(gè)像素表示為像素P(n-k),將從注目像素的右鄰像素起向右數(shù)第k個(gè)像素表示為像素 P (n+k)。并且,將注目像素的亮度值表示為L (n),將從注目像素的左鄰像素起向左數(shù)第k個(gè)像素的亮度值表示為L(n-k),將從注目像素的右鄰像素起向右數(shù)第k個(gè)像素的亮度值表示為 L (n+k)。
如圖8所示,基于L(n_8)和L(n)來判斷在注目像素(即像素P(n))與從注目像素的左鄰像素起向左數(shù)第八個(gè)像素(即像素P(n-8))之間是否存在邊界。具體而言,根據(jù)L(n-8)-L(n)是否大于或等于規(guī)定值來作出判斷。然后,在L (n_8)-L (n)大于或等于規(guī)定值的情況下,判斷為這些像素之間的某處存在邊界。在此,本實(shí)施方式中假設(shè)用0 255的值來表示各個(gè)像素的亮度值,并將上述規(guī)定值作為60。但這些數(shù)字只不過是一例,并不局限于此。在判斷為像素P(n)與像素P(n-8)之間的某處存在邊界的情況下,接下來根據(jù)這兩個(gè)像素或者這兩個(gè)像素附近(周邊)的像素的亮度值,來計(jì)算用于檢測邊界的位置的邊界判斷閾值。下面,參照?qǐng)D9 圖12,來說明邊界判斷閾值的計(jì)算方法。
首先,如圖9 圖12所示,根據(jù)像素P(n-8)或者其附近的像素的亮度值,來確定白色區(qū)域亮度值Lw。以下,對(duì)確定白色區(qū)域亮度值Lw的方法的一例進(jìn)行說明。首先,判斷像素P(n_9)的亮度值是否小于像素P(n-8)的亮度值,在判斷為是的情況下,像素P(n-8)的亮度值成為白色區(qū)域亮度值Lw。例如,圖9、圖11及圖12的例中,像素P(n-9)的亮度值為210,像素P (n-8)的亮度值為220,因而作為像素P (n_8)的亮度值的220便成為白色區(qū)域亮度值Lw。在像素P(n_9)的亮度值大于或等于像素P(n-8)的亮度值的情況下,接下來判斷像素P(n-10)的亮度值是否小于像素P(n-9)的亮度值,在判斷為是的情況下,像素P(n-9)的亮度值便成為白色區(qū)域亮度值Lw。在像素P (n-9)的亮度值大于或等于像素P (n-8)的亮度值,而且像素P (n_10)的亮度值大于或等于像素P(n-9)的亮度值的情況下,接下來判斷像素P(n-ll)的亮度值是否小于像素P(n-10)的亮度值,在判斷為是的情況下,像素P(n-10)的亮度值便成為白色區(qū)域亮度值Lw。例如,圖10的例中,像素P(n-ll)的亮度值為210,像素P(n-10)的亮度值為220,因而作為像素P (n-10)的亮度值的220成為白色區(qū)域亮度值Lw。換言之,如上所述的處理是從像素P (n-8)向左方向依次參照像素的亮度值來查找亮度值的極大值(第一次出現(xiàn)的極大值)的處理。進(jìn)ー步,也可以說是在像素P(n-8)和其周邊的像素的亮度值之中檢測極大值的處理。通過進(jìn)行上述處理,即使在如圖10所示那樣像素P(n-8)位于標(biāo)記50的白色區(qū)域與黒色區(qū)域的界限處(實(shí)拍圖像中用灰色顯示)的情況下,也可以正確地將標(biāo)記50的白色區(qū)域的亮度值設(shè)定為白色區(qū)域亮度值Lw。在此,雖然在本實(shí)施方式中如上所述那樣確定了白色區(qū)域亮度值Lw,但是這只不過是一例,確定白色區(qū)域亮度值Lw的方法不局限于此。例如,也可以將像素P (n-8)的亮度值與其周邊的像素中的任ー個(gè)像素的亮度值進(jìn)行比較,而在該周邊像素的亮度值更大的情況下,基于該周邊像素的亮度值來計(jì)算白色區(qū)域亮度值Lw。再例如,從像素P(n-8)向左方向依次參照像素的亮度值而查找亮度值的極大值(第一次出現(xiàn)的極大值)的處理的中途,若參照像素的亮度值超過了規(guī)定值(例如250),則中斷查找亮度值的極大值的處理,而基于該參照像素的亮度值來計(jì)算白色區(qū)域亮度值Lw。下面,如圖9 如圖12所示,基于像素P(n)或者其附近的像素的亮度值,來確定黒色區(qū)域亮度值Lb。以下,說明確定黑色區(qū)域亮度值Lb的方法的一例。首先,判斷像素P(n+2)的亮度值是否小于或等于像素P(n)的亮度值,在小于或等于像素P(n)的亮度值的情況下,像素P (n)的亮度值便成為黑色區(qū)域亮度值Lb。例如,在圖9及圖10的例中,像素P(n+2)的亮度值為100,像素P (n)的亮度值為100,因而作為像素P(n)的亮度值的100便成為黑色區(qū)域亮度值Lb。在像素P(n+2)的亮度值大于像素P(n)的亮度值的情況下,接下來判斷從白色區(qū)域亮度值Lw減去像素P(n+2)的亮度值的結(jié)果的值(即,Lw-L(n+2))是否大于或等于上述規(guī)定值(即,60)。然后,在該結(jié)果的值大于或等于60的情況下,像素P (n+2)的亮度值便成為黑色區(qū)域亮度值Lb,在該結(jié)果的值小于60的情況下,像素P(n)的亮度值便成為黑色區(qū)域亮度值Lb。例如,在圖11的例中 ,像素P(n)的亮度值為20,像素P(n+2)的亮度值為100,白色區(qū)域亮度值Lw為220。并且,Lw-L(n+2) = 120,因而作為像素P (n+2)的亮度值的100便成為黑色區(qū)域亮度值Lb。然而,在施加了邊界強(qiáng)調(diào)處理(輪廓強(qiáng)調(diào)處理,銳化處理)的實(shí)拍圖像中,如圖11所示那樣,鄰接白色區(qū)域的黒色區(qū)域像素的亮度值會(huì)成為比原來的黒色區(qū)域的亮度值明顯小的值。于是,在本實(shí)施方式中,為了在這樣的情況下也能夠恰當(dāng)?shù)卮_定黑色區(qū)域亮度值Lb,而在滿足上述條件時(shí),將像素P (n+2)的亮度值定為黑色區(qū)域亮度值Lb。另ー方面,在圖12的例中,像素P(n)的亮度值為100,像素P(n+2)的亮度值為210,白色區(qū)域亮度值Lw為220。并且,由于Lw-L (n+2) = 10,因此作為像素P (n)的亮度值的100便成為黑色區(qū)域亮度值Lb。此外,雖然在本實(shí)施方式中,如上所述那樣確定了黒色區(qū)域亮度值Lb,但這只不過是一例,確定黑色區(qū)域亮度值Lb的方法不局限于此。如上所述那樣確定了白色區(qū)域亮度值Lw及黒色區(qū)域亮度值Lb之后,接下來根據(jù)這些白色區(qū)域亮度值Lw及黒色區(qū)域亮度值Lb來計(jì)算邊界判斷閾值。在本實(shí)施方式中,將白色區(qū)域亮度值Lw和黒色區(qū)域亮度值Lb的平均值確定為邊界判斷閾值。例如,在圖9 圖12的例中,邊界判斷閾值均為160。但是,這只不過是一例,計(jì)算邊界判斷閾值的方法不局限于此。如上所述那樣確定了邊界判斷閾值之后,利用該邊界判斷閾值來檢測在像素P (n)與像素P(n_8)之間的哪里存在邊界。具體而言,具有大于邊界判斷閾值的亮度值的像素被判斷為屬于白色區(qū)域,具有小于邊界判斷閾值的亮度值的像素被判斷為屬于黒色區(qū)域。然后,白色區(qū)域與黒色區(qū)域的界限被判斷為邊界。另外,在本實(shí)施方式中,檢測出與白色區(qū)域相鄰的黑色區(qū)域像素,并將其當(dāng)作位于邊界上的(或者鄰接邊界的)“邊界像素”。例如,在圖9的例中,像素P(n-5)被判斷為邊界像素,在圖10的例中,像素P(n-7)被判斷為邊界像素,在圖11的例中,像素P(n)被判斷為邊界像素,在圖12的例中,像素P(n-6)被判斷為邊界像素。此外,在其它實(shí)施方式中,也可以檢測出與黒色區(qū)域相鄰的白色區(qū)域像素,并將其當(dāng)作位于邊界上的“邊界像素”。實(shí)拍圖像的各個(gè)像素與表示該像素是否是邊界像素的標(biāo)志(邊界標(biāo)志)之間建立了對(duì)應(yīng),對(duì)于被判斷為邊界像素的像素,使邊界標(biāo)志為0N。以下的說明中,將如上所述那樣檢測出的邊界像素稱為“起點(diǎn)邊界像素”??梢酝茰y,起點(diǎn)邊界像素是畫在標(biāo)記50上的圖案的輪廓(如圖5所示的白色區(qū)域與黒色區(qū)域的界線)的一部分。在起點(diǎn)邊界像素是畫在標(biāo)記50上的圖案的輪廓的一部分的情況下,以該起點(diǎn)邊界像素為起點(diǎn)來依次追蹤相鄰的邊界像素,便能檢測出畫在標(biāo)記50上的圖案(如圖5所示的白色區(qū)域與黒色區(qū)域的界線)的輪廓。
以下說明將起點(diǎn)邊界像素作為起點(diǎn)來依次追蹤相鄰的邊界像素的處理(邊界追蹤處理)。首先,如圖13所示,以起點(diǎn)邊界像素作為中心,按左下方相鄰像素一下方相鄰像素一右下方相鄰像素一右方相鄰像素一右上方相鄰像素一上方相鄰像素一左上方相鄰像素的順序(即,以起點(diǎn)邊界像素為中心而從左方相鄰像素出發(fā)沿逆時(shí)針方向)搜索黑色區(qū)域像素,并將第一次檢測出的黒色區(qū)域像素當(dāng)作繼起點(diǎn)邊界像素之后的新的邊界像素。關(guān)于各個(gè)相鄰像素是否是黒色區(qū)域像素,根據(jù)檢測起點(diǎn)邊界像素時(shí)所利用的邊界判斷閾值來進(jìn)行判斷,具體而言,在相鄰像素的亮度值小于邊界判斷閾值的情況下,該相鄰像素被判斷為黑色區(qū)域像素。例如,在圖14的例中,作為新的邊界像素,檢測出左下方相鄰像素,在圖15的例中,作為新的邊界像素,檢測出右方相鄰像素。在邊界追蹤處理中,以起點(diǎn)邊界像素為起點(diǎn)而依次檢測出的邊界像素,作為一系列的邊界像素,其坐標(biāo)值依次被存儲(chǔ)于主存儲(chǔ)器32。以下的說明中,將在邊界追蹤處理中最 后檢測出的一個(gè)邊界像素稱為“前導(dǎo)邊界像素”,而將檢測出前導(dǎo)邊界像素之前檢測出來的倒數(shù)第二個(gè)邊界像素稱為“第二個(gè)邊界像素”。繼前導(dǎo)邊界像素之后的新的邊界像素是通過以前導(dǎo)邊界像素為中心,并以其相鄰像素為起點(diǎn),沿著逆時(shí)針方向搜索黑色區(qū)域像素而被檢測出的像素,該相鄰像素位于從該前導(dǎo)邊界像素來看是第二個(gè)邊界像素的方向開始,沿逆時(shí)針方向回轉(zhuǎn)了 135度的方向(在其它實(shí)施方式中,也可以將位于按逆時(shí)針方向回轉(zhuǎn)了 45度的方向的相鄰像素作為起點(diǎn),或者也可以將位于按逆時(shí)針方向回轉(zhuǎn)了 90度的方向的相鄰像素作為起點(diǎn))。然后,該搜索中第一次檢測出的黒色區(qū)域像素被當(dāng)作新的邊界像素(即,新的前導(dǎo)邊界像素)。例如,如圖16所示,在第二個(gè)邊界像素是前導(dǎo)邊界像素的右上方相鄰像素的情況下,以前導(dǎo)邊界像素為中心,從左方相鄰像素開始沿著逆時(shí)針方向搜索黑色區(qū)域像素。因此,在圖17的例中,前導(dǎo)邊界像素的下方相鄰像素作為新的邊界像素被檢測出。再例如,如圖18所示,在第二個(gè)邊界像素是前導(dǎo)邊界像素的左方相鄰像素的情況下,以前導(dǎo)邊界像素為中心,從右下方相鄰像素開始沿著逆時(shí)針方向搜索黑色區(qū)域像素。因此,在圖19的例中,前導(dǎo)邊界像素的右方相鄰像素作為新的邊界像素被檢測出。通過反復(fù)進(jìn)行上述處理,便可依次檢測出新的邊界像素,當(dāng)最終前導(dǎo)邊界像素到達(dá)起點(diǎn)邊界像素時(shí),黒色區(qū)域的輪廓的檢測便結(jié)束(即,有關(guān)表示黒色區(qū)域的輪廓的一系列的邊界像素群的數(shù)據(jù)被存儲(chǔ)于主存儲(chǔ)器32)。另外,在本實(shí)施方式中,每當(dāng)在邊界追蹤處理中檢測出新的邊界像素,都要基于上述邊界標(biāo)志來判斷該新的邊界像素是否包括在已經(jīng)檢測出來的一系列的邊界像素群中。然后,若連續(xù)三次判斷為新的邊界像素包括在已經(jīng)檢測的一系列的邊界像素群中,則中斷邊界追蹤處理。例如,如圖20所示,若只是連續(xù)兩次判斷為新的邊界像素包括在已經(jīng)檢測出來的一系列的邊界像素群中,則不會(huì)中斷邊界追蹤處理。然而,如圖21所示,若連續(xù)三次判斷為新的邊界像素包括在已經(jīng)檢測出來的一系列的邊界像素群中,則中斷邊界追蹤處理。這是因?yàn)槿鐖D21所示的黒色區(qū)域很有可能不是畫在標(biāo)記50上的圖案的輪廓(即是標(biāo)記50以外的物體的輪廓)。另外,就算是該黒色區(qū)域是畫在標(biāo)記50上的圖案的輪廓,也很有可能無法正常進(jìn)行后述的模式匹配處理等。由此,可以避免無用的處理。另外,次數(shù)為三次只不過是一例,也可以是其它次數(shù)。另外,雖然在上述說明中對(duì)以起點(diǎn)邊界像素為起點(diǎn),沿著逆時(shí)針方向追蹤黑色區(qū)域的輪廓的例子進(jìn)行了說明,但是在其它實(shí)施方式中,也可以以起點(diǎn)邊界像素為起點(diǎn),沿著順時(shí)針方向追蹤黑色區(qū)域的輪廓。如上所述,在輪廓檢測處理中,確定了白色區(qū)域亮度值Lw和黒色區(qū)域亮度值Lb,井根據(jù)這些白色區(qū)域亮度值Lw及黒色區(qū)域亮度值Lb,來計(jì)算邊界判斷閾值。因此,即使因?qū)嵟膱D像的整體或者一部分的亮度發(fā)生變化,而導(dǎo)致實(shí)拍圖像中的標(biāo)記50的白色區(qū)域及黒色區(qū)域的亮度也相應(yīng)地變化,也可以使用合適的邊界判斷閾值來進(jìn)行輪廓提取處理。因此,標(biāo)記50的識(shí)別精度得到提聞。另外,雖然在上述輪廓檢測處理中,根據(jù)像素的亮度值來提取輪廓,但是不局限于亮度值,也可以根據(jù)其它任何像素值(具體而言是色值)來檢測輪廓。另外,雖然在上述輪廓檢測處理中,首先判斷在水平方向上分離的兩個(gè)像素(像素P(n)與像素P(n-8))之間是否存在邊界,但是選擇兩個(gè)像素的方法不局限于此。例如,可以判斷在垂直方向上分離的兩個(gè)像素之間是否存在邊界,也可以判斷在斜方向分離的兩個(gè)像素之間是否存在邊界。另外,雖然在上述輪廓檢測處理中,在L(n-8)_L(n)大于或等于規(guī)定值的情況下,判斷為像素P(n)與像素P(n-8)之間存在邊界(在此情況下,可以找到左側(cè)為白色區(qū)域、右側(cè)為黑色區(qū)域這樣的邊界),但是在其它實(shí)施方式中,也可以是,在L(n-8)-L(n)的絕對(duì)值大于或等于規(guī)定值的情況下,判斷為像素P (n)與像素P (n-8)之間存在邊界。在此情況下,除了左側(cè)為白色區(qū)域、右側(cè)為黑色區(qū)域這樣的邊界以外,還可以找到左側(cè)為黑色區(qū)域、右側(cè)為白色區(qū)域這樣的邊界。另外,雖然在上述輪廓檢測處理中,使用在檢測起點(diǎn)邊界像素時(shí)所利用的邊界判斷閾值來進(jìn)行上述邊界追蹤處理,但是在其它實(shí)施方式中,也可以將該邊界判斷閾值用于從實(shí)拍圖像中的任何區(qū)域(例如,實(shí)拍圖像的整體)檢測邊界像素。例如,也可以根據(jù)上述邊界判斷閾值,來檢測在包含有起點(diǎn)邊界像素的行的下一行的邊界像素、或其它輪廓(包含有起點(diǎn)邊界像素的輪廓之外的)的邊界像素等?!错旤c(diǎn)檢測處理〉下面說明頂點(diǎn)檢測處理。頂點(diǎn)檢測處理是檢測實(shí)拍圖像中的標(biāo)記50的黒色區(qū)域的4個(gè)頂點(diǎn)的處理,包括以下處理。 直線計(jì)算處理 直線統(tǒng)合處理 直線選擇處理 頂點(diǎn)計(jì)算處理
在直線計(jì)算處理中,根據(jù)在上述輪廓檢測處理中存儲(chǔ)于主存儲(chǔ)器32的、有關(guān)表示黒色區(qū)域的輪廓的一系列的邊界像素群的數(shù)據(jù),來計(jì)算多條直線。下面,參照?qǐng)D22 圖36來對(duì)直線計(jì)算處理進(jìn)行詳細(xì)的說明。在存儲(chǔ)于主存儲(chǔ)器32中的有關(guān)一系列的邊界像素群的數(shù)據(jù)中,對(duì)多個(gè)邊界像素分配了順序。下面,為了說明上的方便,將沿著逆時(shí)針方向追蹤黑色區(qū)域的輪廓的方向(即,若站在黑色區(qū)域面向白色區(qū)域的方向,則是左手方向)稱為前方,將沿著順時(shí)針方向追蹤黑色區(qū)域的輪廓的方向(即,若站在黑色區(qū)域面向白色區(qū)域的方向,則是右手方向)稱為后方。首先,如圖22所示,根據(jù)從起點(diǎn)邊界像素Pe(O)至該起點(diǎn)邊界像素Pe (0)的四個(gè)之前的邊界像素Pe (4)為止的五個(gè)邊界像素Pe(O) Pe (4),來生成最初的直線Li (0_4),而且將表示該直線Li (0-4)的數(shù)據(jù)存儲(chǔ)于主存儲(chǔ)器32。另外,作為根據(jù)多個(gè)邊界像素來生成直線的方法,可以采用各種方法,在本實(shí)施方式中采用最小二乗法來生成直線。下面,如圖23所示,根據(jù)與直線Li (0-4)對(duì)應(yīng)的邊界像素Pe(O) Pe (4)的前方的五個(gè)邊界像素Pe (5) Pe (9),例如采用最小二乗法來生成假定直線,并判斷直線Li (0-4)和假定直線是否在同一直線上。該判斷例如可根據(jù)假定直線相對(duì)直線Li (0-4)的角度來作出。在本實(shí)施方式中,如圖24所示,若假定直線相對(duì)直線Li (0-4)的角度(將逆時(shí)針方向作 為正方向)在-30° +30°的范圍內(nèi),則判斷為直線Li (0-4)和假定直線在同一直線上。在此,從-30°及+30°這些值只不過是一例,不局限于此。判斷為直線Li (0-4)和假定直線在同一直線上之后,根據(jù)對(duì)應(yīng)于直線Li (0-4)的邊界像素Pe(O) Pe (4)、和對(duì)應(yīng)于假定直線的邊界像素Pe (5) Pe (9)這十個(gè)邊界像素,例如采用最小二乗法,計(jì)算如圖25所示的直線Li (0-9),并將存儲(chǔ)于主存儲(chǔ)器32的、表示直線Li (0-4)的數(shù)據(jù)更新為表示直線Li (0-9)的數(shù)據(jù)。通過反復(fù)進(jìn)行上述處理,來依次更新(延長)直線。另外,雖然在本實(shí)施方式中用五個(gè)邊界像素來生成一條假定直線,但是這只不過是一例,不局限于此。在圖26的例中,相對(duì)直線Li (0-14),假定直線(即,根據(jù)在直線Li (0-14)前方附近的五個(gè)邊界像素Pe (15) Pe (19)而生成的假定直線)的角度超過+30°,因而判斷為在直線Li (0-14)與假定直線的交點(diǎn)附近黒色區(qū)域呈凸角(即,在直線Li (0-14)與假定直線的交點(diǎn)附近黒色區(qū)域向外凸出)(參照?qǐng)D24)。在此情況下,判斷為假定直線是與直線Li (0-14)不相同的新的直線,從而生成對(duì)應(yīng)于該假定直線的新的直線Li (15-19)(參照?qǐng)D27)。在此情況下,將表示直線Li (0-14)的數(shù)據(jù)依然保留于主存儲(chǔ)器32中,并將表示直線Li (15-19)的新的數(shù)據(jù)存儲(chǔ)于主存儲(chǔ)器32。接下來,如圖28所示,判斷直線Li (15-19)與根據(jù)與該直線Li (15-19)對(duì)應(yīng)的邊界像素Pe (15) Pe (19)的前方的五個(gè)邊界像素Pe (20) Pe (24)而生成的假定直線是否在同一直線上。然后,若判斷為在同一直線上,則如圖29所示,根據(jù)邊界像素Pe(15) Pe (24),將直線 Li (15-19)更新為直線 Li (15-24)。通過反復(fù)進(jìn)行上述處理,最后算出如圖30所示的多條直線(在圖30的例中,直線A 直線F的共六條線段)。另外,其中也可以包括如直線D那樣的較短的線段。如上所述,在直線計(jì)算處理中,根據(jù)一系列的邊界像素中的在同一直線上的一部分邊界像素,可算出各條直線。另外,雖然在上述直線計(jì)算處理中,以起點(diǎn)邊界像素Pe(O)為起點(diǎn)來生成并更新直線,但是不局限于此,也可以以起點(diǎn)邊界像素Pe(O)以外的任何邊界像素為起點(diǎn)來生成并更新直線。另外,雖然在上述直線計(jì)算處理中,是在逆時(shí)針方向上生成并更新直線,但是不局限于此,也可以在順時(shí)針方向上生成并更新直線。
另外,雖然在上述直線計(jì)算處理中,判斷已經(jīng)生成的直線與鄰接該直線的假定直線是否在同一直線上,并在判斷為在同一直線上的情況下,根據(jù)對(duì)應(yīng)于這些直線及假定直線的多個(gè)邊界像素來計(jì)算直線,但是在其它實(shí)施方式中,也可以是,先生成多個(gè)假定直線之后,根據(jù)對(duì)應(yīng)于該多個(gè)假定直線中的在同一直線上的多個(gè)假定直線的多個(gè)邊界像素,來計(jì)
算直線。 另外,如圖31所示,在實(shí)拍圖像中以部分重疊在標(biāo)記50的黒色區(qū)域的ー邊的方式顯示黑色物體的情況下,在直線計(jì)算處理中,生成了直線A及直線B之后,如圖32所示,判斷直線B與假定直線是否在同一直線上,其中,該假定直線是根據(jù)與上述直線B對(duì)應(yīng)的邊界像素群的前方的邊界像素群而算出的。由于假定直線相對(duì)直線B的角度小于-30°,因而判斷為在直線B與假定直線的交點(diǎn)附近黒色區(qū)域呈凹角(即,在直線B與假定直線的交點(diǎn)附近黒色區(qū)域向內(nèi)側(cè)凹陷)(參照?qǐng)D24)。但是,由于標(biāo)記50的黒色區(qū)域的輪廓中不存在凹角(即,只存在凸角),因此在上述凹角被檢測出的情況下,可以推測為假定直線表示的是標(biāo)記以外的其它物體的輪廓的一部分。如上所述,在直線計(jì)算處理中檢測出凹角的情況下,判斷為不能執(zhí)行更新直線(延長線段)或重新生成直線的處理。然后,中斷對(duì)黑色區(qū)域沿著逆時(shí)針方向更新直線(延長線段)及重新生成直線的處理,接著,開始進(jìn)行沿著與之前的方向相反的方向(即順時(shí)針方向)更新(延長)及重新生成直線的處理。例如,在圖31的例中,執(zhí)行從起點(diǎn)邊界像素沿著順時(shí)針方向使直線A(線段)向后方延長的處理、及重新生成直線的處理。其結(jié)果,如圖33所示那樣,圖31的直線A被更新為直線A’,并且依次生成了直線C 直線E。另外,由于在直線E(線段)的后端檢測出凹角,因此到此為止該直線計(jì)算處理結(jié)束。其結(jié)果,算出了直線A’、直線B 直線E的共五條直線。另外,作為其它例子,如圖34所示,在實(shí)拍圖像中以部分重疊在標(biāo)記50的黒色區(qū)域的ー邊的方式顯示白色物體的情況下,在直線計(jì)算處理中,生成了直線A 直線C之后,檢測出凹角。然后,開始進(jìn)行從起點(diǎn)邊界像素起沿著順時(shí)針方向?qū)⒅本€A向后方延伸的處理、及生成新的直線的處理,由此,將直線A更新為直線A’,進(jìn)一歩,依次生成直線D 直線G。其結(jié)果,算出了直線A’及直線B 直線G的共七條直線。作為另ー個(gè)例子,如圖35所示,在實(shí)拍圖像中以重疊在標(biāo)記50的黑色區(qū)域的ー個(gè)頂點(diǎn)的方式顯示黑色物體的情況下,算出了直線A’及直線B 直線D的共四條直線。作為另ー個(gè)例子,如圖36所示,在實(shí)拍圖像中以重疊在標(biāo)記50的黑色區(qū)域的ー個(gè)頂點(diǎn)的方式顯示白色物體的情況下,算出了直線A’及直線B 直線F的共六條直線。在直線計(jì)算處理完畢之后,接下來執(zhí)行直線統(tǒng)合處理。直線統(tǒng)合處理是指,將在直線計(jì)算處理中算出的多條直線(線段)中的在同一直線上的同一方向的多條線段統(tǒng)合成一條線段的處理。例如,在圖30的例子中,直線A和直線F在同一直線上,而且朝向同一方向,因而如圖37所示,這兩條直線被統(tǒng)合成一條直線A+F。此外,例如在圖33的例子中,直線B和直線E在同一直線上,而且朝向同一方向,因而如圖38所示,這兩條直線被統(tǒng)合成一條直線B+E。此外,在例如圖34的例子中,直線B和直線F在同一直線上,而且朝向同一方向,因而如圖39所示,這兩條直線被統(tǒng)合成一條直線B+F。
直線統(tǒng)合處理完畢之后,接下來執(zhí)行直線選擇處理。直線選擇處理是指,從經(jīng)過直線計(jì)算處理及直線統(tǒng)合處理而最終留下來的多條直線中,選擇與標(biāo)記50的黒色區(qū)域的4個(gè)邊對(duì)應(yīng)的直線的處理。
在本實(shí)施方式中,在最終留下來的多條直線(線段)中選擇長度較長的四條直線(即,最長的直線、第二長的直線、第三長的直線及第四長的直線),來作為與標(biāo)記50的黒色區(qū)域的4個(gè)邊分別對(duì)應(yīng)的直線。在以下說明中,將所選擇出的四條直線按以其中任意一條直線為起點(diǎn)的逆時(shí)針方向順序分別稱為第一直線、第二直線、第三直線及第四直線。例如在圖37的例子中,在直線選擇處理中,從直線A+F、直線B 直線E的五條直線中選擇直線A+F、直線B、直線C及直線E (參照?qǐng)D40)。此外,例如在圖39的例子中,在直線選擇處理中,從直線A’、直線B+F、直線C 直線E、及直線G的六條直線中選擇直線A’、直線B+F、直線E及直線D。此外,例如在圖36的例子中,在直線選擇處理中,從直線A’、直線B 直線F的六條直線中選擇直線A’、直線B、直線E及直線D (參照?qǐng)D41)。另外,由于在圖35及圖38的例子中只有四條直線,因此在直線選擇處理中選擇該四條直線。另外,在上述直線選擇處理中選擇了四條直線,這是因?yàn)闃?biāo)記50的黒色區(qū)域?yàn)樗慕切?。然而,若?biāo)記50的黒色區(qū)域例如為六角形,則在直線選擇處理中則應(yīng)選擇六條直線。在直線選擇處理結(jié)束之后,接下來執(zhí)行頂點(diǎn)計(jì)算處理。在頂點(diǎn)計(jì)算處理中,根據(jù)在直線選擇處理中被選擇的四條直線(第一直線 第四直線),來計(jì)算標(biāo)記50的黒色區(qū)域的4個(gè)頂點(diǎn)的位置。具體而言,第一直線和第二直線的交點(diǎn)的位置作為標(biāo)記50的黒色區(qū)域的第一頂點(diǎn)的位置而被算出;第二直線和第三直線的交點(diǎn)的位置作為標(biāo)記50的黒色區(qū)域的第二頂點(diǎn)的位置而被算出;第三直線和第四直線的交點(diǎn)的位置作為標(biāo)記50的黒色區(qū)域的第三頂點(diǎn)的位置而被算出;第四直線和第一直線的交點(diǎn)的位置作為標(biāo)記50的黒色區(qū)域的第四頂點(diǎn)的位置而被算出。例如在圖40的例子中,如圖42所示那樣計(jì)算第一頂點(diǎn) 第四頂點(diǎn)的位置。再例如,在圖41的例子,如圖43所示那樣計(jì)算第一頂點(diǎn) 第四頂點(diǎn)的位置。如上所述那樣,經(jīng)過直線計(jì)算處理、直線統(tǒng)合處理、直線選擇處理及頂點(diǎn)計(jì)算處理,實(shí)拍圖像中的標(biāo)記50的黒色區(qū)域的4個(gè)頂點(diǎn)可被檢測出來。如此檢測出的頂點(diǎn)的位置是基于在同一直線上的多個(gè)邊界像素而生成的直線的交點(diǎn),因此具有很高的精度。例如,在將一系列的邊界像素中的任一個(gè)邊界像素確定為頂點(diǎn)的情況下,頂點(diǎn)的位置會(huì)因環(huán)境光等的影響而產(chǎn)生抖動(dòng),但是由于如上所述那樣檢測出的頂點(diǎn)的位置是根據(jù)多個(gè)邊界像素算出的,因此不會(huì)產(chǎn)生抖動(dòng)?!创致耘袆e處理〉下面,對(duì)粗略判別處理進(jìn)行說明。粗略判別處理是指,在進(jìn)行后述的圖案判別處理之前,根據(jù)通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)之間的位置關(guān)系來判斷該4個(gè)頂點(diǎn)是否是標(biāo)記50的4個(gè)頂點(diǎn)的處理。在本實(shí)施方式中,在滿足如下所示的除外條件A D中任ー個(gè)條件的情況下,判斷為通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)不是標(biāo)記50的4個(gè)頂點(diǎn)。
除外條件A :任意的相鄰的2個(gè)頂點(diǎn)之間的距離太近的情況。具體是指,第一頂點(diǎn)與第二頂點(diǎn)之間的距離小于規(guī)定的閾值(第一最小容許距離)的情況;或者第二頂點(diǎn)與第三頂點(diǎn)之間的距離小于第一最小容許距離的情況;或者第三頂點(diǎn)與第四頂點(diǎn)之間的距離小于第一最小容許距離的情況;或者第四頂點(diǎn)與第一頂點(diǎn)之間的距離小于第一最小容許距離的情況。例如,在圖44的例子中,由于第一頂點(diǎn)與第二頂點(diǎn)之間的距離太近,因此判斷為第ー頂點(diǎn) 第四頂點(diǎn)不是標(biāo)記50的4個(gè)頂點(diǎn)。除外條件B :任一個(gè)頂點(diǎn)和與該頂點(diǎn)不相鄰的2個(gè)邊中的任ー個(gè)邊之間的距離太近的情況。具體是指,第一頂點(diǎn)與第三直線之間的距離小于規(guī)定的閾值(第二最小容許距離)的情況;或者第一頂點(diǎn)與第四直線之間的距離小于第二最小容許距離的情況;或者第ニ頂點(diǎn)與第四直線之間的距離小于第二最小容許距離的情況;或者第二頂點(diǎn)與第一直線之間的距離小于第二最小容許距離的情況;或者第三頂點(diǎn)與第一直線之間距離小于第二最小容許距離的情況;或者第三頂點(diǎn)與第二直線之間的距離小于第二最小容許距離的情況;或者第四頂點(diǎn)與第二直線之間的距離小于第二最小容許距離的情況;或者第四頂點(diǎn)與第三直線之間的距離小于第二最小容許距離的情況。例如,在圖45的例子,由于第一頂點(diǎn)與第三直線之間的距離太近,因此判斷為第一頂點(diǎn) 第四頂點(diǎn)不是標(biāo)記50的4個(gè)頂點(diǎn)。 除外條件C :任意的相向的2個(gè)邊的直線(向量)大致為同一方向的情況。具體是指,在第一直線(連接第四頂點(diǎn)和第一頂點(diǎn)的向量)和第三直線(連接第二頂點(diǎn)和第三頂點(diǎn)的向量)大致為同一方向的情況;或者第二直線(連接第一頂點(diǎn)和第二頂點(diǎn)的向量)和第四直線(連接第四頂點(diǎn)和第一頂點(diǎn)的向量)大致為同一方向的情況。例如,在圖44的例子中,由于第一直線(連接第四頂點(diǎn)和第一頂點(diǎn)的向量)和第三直線(連接第二頂點(diǎn)和第三頂點(diǎn)的向量)大致為同一方向,因此判斷為第一頂點(diǎn) 第四頂點(diǎn)不是標(biāo)記50的4個(gè)頂點(diǎn)。在此,對(duì)于兩個(gè)向量是否大致為同一方向,例如可以根據(jù)如圖24所示的兩個(gè)向量所形成的角度來作出判斷。除外條件D :包括凹角的情況。具體是指,第一頂點(diǎn) 第四頂點(diǎn)之中的任一個(gè)頂點(diǎn)是凹角的情況。例如,在圖47的例子中,由于第二頂點(diǎn)為凹角,因此判斷為第一頂點(diǎn) 第四頂點(diǎn)不是標(biāo)記50的4個(gè)頂點(diǎn)。另外,雖然在本實(shí)施方式中根據(jù)上述除外條件A 除外條件D來進(jìn)行粗略判別處理,但是這只不過是一例,可以利用這些除外條件中的ー個(gè)條件、或者多個(gè)條件,也可以使用與這些除外條件不相同的其它除外條件。在滿足上述除外條件A 除外條件D中的任ー個(gè)條件的情況下,通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)被判斷為不是標(biāo)記50的4個(gè)頂點(diǎn),而且將其從后述的圖案判別處理的處理對(duì)象中排除。由此,圖案判別處理所需的處理負(fù)擔(dān)得到減輕。<圖案判別處理>下面,對(duì)圖案判別處理進(jìn)行說明。圖案判別處理是指,用于判別顯示在以通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)為各角頂點(diǎn)而形成的區(qū)域中的圖案是否與畫在標(biāo)記50上的圖案相同的處理。在圖案判別處理中,使用根據(jù)畫在標(biāo)記50上的圖案而預(yù)先生成的模式定義數(shù)據(jù),來判別顯示在以通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)為角頂點(diǎn)而形成的區(qū)域中的圖案是否與畫在標(biāo)記50上的圖案相同。
模式定義數(shù)據(jù)是表示畫在標(biāo)記50上的圖案的數(shù)據(jù),本實(shí)施方式中,如圖48所示那樣,將標(biāo)記50的各邊等分成16份而生成格子,并將格子之間形成的交叉點(diǎn)當(dāng)作采樣點(diǎn)(S(l,l) S(15,15)),然后將對(duì)標(biāo)記50上的各個(gè)采樣點(diǎn)的像素值進(jìn)行了定義(參照?qǐng)D49)的數(shù)據(jù)作為模式定義數(shù)據(jù)。另外,雖然在本實(shí)施方式中將標(biāo)記50的各邊分割成16份,但這只不過是一例,不局限于分割成16份。另外,雖然在本實(shí)施方式中,將標(biāo)記50的各邊等分而生成格子,并將該格子的交叉點(diǎn)當(dāng)作采樣點(diǎn),但是在其它實(shí)施方式中,也可以將由格子形成的四角形的中心當(dāng)作采樣點(diǎn)。本實(shí)施方式中,將離標(biāo)記50的左上頂點(diǎn)最近的交叉點(diǎn)當(dāng)作采樣點(diǎn)S(l,I),將離標(biāo)記50的左下頂點(diǎn)最近的交叉點(diǎn)當(dāng)作采樣點(diǎn)S (1,15),將離標(biāo)記50的右上頂點(diǎn)最近的交叉點(diǎn)當(dāng)作采樣點(diǎn)S (15,I),將離標(biāo)記50的右下頂點(diǎn)最近的交叉點(diǎn)當(dāng)作采樣點(diǎn)S (15,15)。另外,雖然在圖49的例子中,像素值在表示像素值的欄中被定義為“黑”或“白”, 但是在其它實(shí)施方式中,像素值也可以被定義為色值(RGB值)或亮度值。圖50表示包含有標(biāo)記50的實(shí)拍圖像。通過對(duì)該實(shí)拍圖像進(jìn)行如上所述的輪廓檢測處理及頂點(diǎn)檢測處理,可算出第一頂點(diǎn) 第四頂點(diǎn)的位置。圖51表示將在實(shí)拍圖像中以第一頂點(diǎn) 第四頂點(diǎn)為各角頂點(diǎn)而形成的四角形的各邊等分成16份,以確定該四角形區(qū)域內(nèi)的采樣點(diǎn)的位置的例子。在圖案判別處理中,通過將實(shí)拍圖像中的采樣點(diǎn)的像素值與模式定義數(shù)據(jù)進(jìn)行核對(duì)(例如,計(jì)算相關(guān)性系數(shù)等),來判別在實(shí)拍圖像中以第一頂點(diǎn) 第四頂點(diǎn)為各角頂點(diǎn)而形成的區(qū)域中顯示的圖案是否是與畫在標(biāo)記50上的圖案相同。然而,在利用圖51所示的方法來確定實(shí)拍圖像中的采樣點(diǎn)的情況下,存在著不能進(jìn)行正確的判別的問題。例如,模式定義數(shù)據(jù)中的采樣點(diǎn)S(8,2)的像素值為“黒色”,而在圖51的實(shí)拍圖像中的采樣點(diǎn)S(8,2)的像素值卻為“白色”。此外,模式定義數(shù)據(jù)中的采樣點(diǎn)S(8,13)的像素值為“白色”,而在圖51的實(shí)拍圖像中的采樣點(diǎn)S(8,13)的像素值卻為“黑色”。其結(jié)果,有可能錯(cuò)誤地判別為圖50的實(shí)拍圖像中不包含標(biāo)記50。為解決上述問題,需要設(shè)法改進(jìn)確定實(shí)拍圖像中的采樣點(diǎn)的位置的方法。下面,對(duì)確定實(shí)拍圖像中的采樣點(diǎn)的位置的方法的其它例子(第一確定方法及第ニ確定方法)進(jìn)行說明。首先,參照?qǐng)D52 圖58來說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第一確定方法。第一確定方法為,在以第一頂點(diǎn) 第四頂點(diǎn)為各角頂點(diǎn)而形成的四角形中,若相向的2個(gè)邊平行(包括大致平行的情況),則將該2個(gè)邊等分成16份,若相向的2個(gè)邊不平行,則將該2個(gè)邊不均等地分割成16份,并將由此生成的格子的交叉點(diǎn)當(dāng)作采樣點(diǎn)。例如,在圖52的例子中,由于連接第一頂點(diǎn)和第四頂點(diǎn)的邊、與連接第二頂點(diǎn)和第三頂點(diǎn)的邊平行,因此連接第一頂點(diǎn)和第四頂點(diǎn)的邊、及連接第二頂點(diǎn)和第三頂點(diǎn)的邊分別被等分成16份。另ー方面,由于連接第一頂點(diǎn)和第二頂點(diǎn)的邊、與連接第四頂點(diǎn)和第三頂點(diǎn)的邊不平行,因此連接第一頂點(diǎn)和第二頂點(diǎn)的邊、及連接第四頂點(diǎn)和第三頂點(diǎn)的邊未被等分成16份,而是被不均等地分割成16份。S卩,如圖52所示那樣,將連接第一頂點(diǎn)和第二頂點(diǎn)的邊分割成16份的各點(diǎn)(以下稱為分割點(diǎn)),與將該邊等分成16份的情況相比,分割點(diǎn)更偏向于第一頂點(diǎn)ー側(cè)。并且,將連接第四頂點(diǎn)和第三頂點(diǎn)的邊分割成16份的各分割點(diǎn),與將該邊等分成16份的情況相比,分割點(diǎn)更偏向于第四頂點(diǎn)ー側(cè)。
下面,參照?qǐng)D53 圖55,對(duì)在連接圖52中的第一頂點(diǎn)和第二頂點(diǎn)的邊上、及在連接第四頂點(diǎn)和第三頂點(diǎn)的邊上確定分割點(diǎn)的方法的一例進(jìn)行說明。在以下說明中,將連接第一頂點(diǎn)和第二頂點(diǎn)的邊分割成16份的15個(gè)分割點(diǎn),按照尚第一頂點(diǎn)近的順序被稱為第一分割點(diǎn)Ml、第二分割點(diǎn)M2、第三分割點(diǎn)M3、 、第15分割點(diǎn)M15。同樣地,將連接第四頂點(diǎn)和第三頂點(diǎn)的邊分割成16份的15個(gè)分割點(diǎn),按照離第四頂點(diǎn)近的順序,被稱為第一分割點(diǎn)NI、第二分割點(diǎn)N2、第三分割點(diǎn)N3、 、第15分割點(diǎn)N15。首先,如圖53所示那樣確定第八分割點(diǎn)M8及第八分割點(diǎn)NS。具體而言,首先計(jì)算第一頂點(diǎn)與第四頂點(diǎn)之間的距離、和第二頂點(diǎn)與第三頂點(diǎn)之間的距離。然后,在將第一頂點(diǎn)與第四頂點(diǎn)之間的距離當(dāng)作a,而將第二頂點(diǎn)與第三頂點(diǎn)之間的距離當(dāng)作b的情況下,計(jì)算以a b的比率來分割第一頂點(diǎn)與第二頂點(diǎn)之間的距離的點(diǎn)、及以a b的比率來分割第四頂點(diǎn)與第三頂點(diǎn)之間的距離的點(diǎn)。然后,將所算出的前者確定為第八分割點(diǎn)M8,將所算出的后者確定為第八分割點(diǎn)NS。其結(jié)果,第八分割點(diǎn)M8被確定在 比第一頂點(diǎn)與第二頂點(diǎn)之間的中點(diǎn)更接近第一頂點(diǎn)的位置,第八分割點(diǎn)NS被確定在比第四頂點(diǎn)與第三頂點(diǎn)之間的中點(diǎn)更接近第四頂點(diǎn)的位置。下面,如圖54所示那樣確定第四分割點(diǎn)M4及第四分割點(diǎn)N4。具體而言,首先,計(jì)算第八分割點(diǎn)M8與第八分割點(diǎn)NS之間的距離。然后,在將該距離當(dāng)作c的情況下,計(jì)算以a c的比率來分割第一頂點(diǎn)與第八分割點(diǎn)M8之間的距離的點(diǎn)、及以a c的比率來分割第四頂點(diǎn)與第八分割點(diǎn)NS之間的距離的點(diǎn)。然后,將所算出的前者確定為第四分割點(diǎn)M4,將所算出的后者確定為第四分割點(diǎn)N4。其結(jié)果,第四分割點(diǎn)M4被確定在比第一頂點(diǎn)與第八分割點(diǎn)M8之間的中點(diǎn)更靠近第一頂點(diǎn)的位置,第四分割點(diǎn)N4被確定在比第四頂點(diǎn)與第八分割點(diǎn)NS之間的中點(diǎn)更靠近第四頂點(diǎn)的位置。下面,如圖55所示那樣確定第二分割點(diǎn)M2及第二分割點(diǎn)N2。具體而言,首先,計(jì)算第四分割點(diǎn)M4與第四分割點(diǎn)N4之間的距離。然后,在將該距離當(dāng)作d的情況下,計(jì)算以a d的比率來分割第一頂點(diǎn)與第四分割點(diǎn)M4之間的距離的點(diǎn)、及以a d的比率來分割第四頂點(diǎn)與第四分割點(diǎn)N4之間的距離的點(diǎn)。然后,將所算出的前者確定為第二分割點(diǎn)M2,將所算出的后者確定為第二分割點(diǎn)N2。其結(jié)果,第二分割點(diǎn)M2被確定在比第一頂點(diǎn)與第四分割點(diǎn)M4之間的中點(diǎn)更靠近第一頂點(diǎn)的位置,第二分割點(diǎn)N2被確定在比第四頂點(diǎn)與第四分割點(diǎn)N4之間的中點(diǎn)更靠近第四頂點(diǎn)的位置。以下,用同樣的方法來確定其它分割點(diǎn)(第一分割點(diǎn)Ml、第三分割點(diǎn)M3、第五分割點(diǎn)M5 第七分割點(diǎn)M7、第九分割點(diǎn)M9 第15分割點(diǎn)M15、第一分割點(diǎn)NI、第三分割點(diǎn)N3、第五分割點(diǎn)N5 第七分割點(diǎn)N7、第九分割點(diǎn)N9 第15分割點(diǎn)N15),最后得到如圖52所示的采樣點(diǎn)。另外,在第一確定方法中,若在以第一頂點(diǎn) 第四頂點(diǎn)為各角頂點(diǎn)而形成的四角形中,相向的2個(gè)邊平行,則將該2個(gè)邊等分成16份。下面,參照?qǐng)D56 圖58來說明其理由。在從實(shí)拍圖像中檢測出如圖56所示的第一頂點(diǎn) 第四頂點(diǎn)的情況下,連接第一頂點(diǎn)和第四頂點(diǎn)的邊、與連接第二頂點(diǎn)和第三頂點(diǎn)的邊是平行的。在此情況下,假設(shè)用如圖53 圖55所示的方法來將這些邊分割成16份,則如圖57所示那樣,分割連接第一頂點(diǎn)和第四頂點(diǎn)的邊的分割點(diǎn)將整體上偏向于第一頂點(diǎn)的ー側(cè),而分割連接第二頂點(diǎn)和第三頂點(diǎn)的邊的分割點(diǎn)將整體上偏向于第二頂點(diǎn)的ー側(cè)。
然而,在實(shí)拍圖像中以如圖56所示的形狀顯示出標(biāo)記50的情況下(S卩,連接第一頂點(diǎn)和第四頂點(diǎn)的邊、及連接第二頂點(diǎn)和第三頂點(diǎn)的邊是平行的情況下),攝像機(jī)與第一頂點(diǎn)之間的距離、和攝像機(jī)與第四頂點(diǎn)之間的距離是大致相同的。同樣地,攝像機(jī)與第二頂點(diǎn)之間的距離、和攝像機(jī)與第三頂點(diǎn)之間的距離是大致相同的。因此,在此情況下,為了將采樣點(diǎn)的位置確定在更合適的位置上,應(yīng)如圖58所示那樣將連接第一頂點(diǎn)和第四頂點(diǎn)的邊及連接第二頂點(diǎn)和第三頂點(diǎn)的邊等分成16份。下面,參照?qǐng)D59及圖60來說明確定實(shí)拍圖像中的采樣點(diǎn)的位置的第二確定方法。第二確定方法為,如圖59所示,首先延長以通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)為各角頂點(diǎn)而形成的四角形的4個(gè)邊,井分別算出每ー對(duì)相向的邊的交點(diǎn)(第一消失點(diǎn)及第ニ消失點(diǎn))。在以下說明中,在通過頂點(diǎn)檢測處理而檢測出來的4個(gè)頂點(diǎn)中,將離連接第一消失點(diǎn)和第二消失點(diǎn)的直線(第一直線)最近的頂點(diǎn)稱為頂點(diǎn)A,從該頂點(diǎn)開始按逆時(shí)針方向?qū)⑵渌旤c(diǎn)依次稱為頂點(diǎn)B、頂點(diǎn)C、頂點(diǎn)D。接下來,計(jì)算通過頂點(diǎn)C而且與連接第一消失點(diǎn)和第二消失點(diǎn)的直線(第一直線)平行的直線(第二直線)。然后,計(jì)算通過頂點(diǎn)A及頂點(diǎn)B的直線與第二直線的交點(diǎn)(第一點(diǎn))、及通過頂點(diǎn)A及頂點(diǎn)D的直線與第二直線的交點(diǎn)(第二點(diǎn))。接下來,如圖60所示那樣,計(jì)算將第一點(diǎn)與頂點(diǎn)C之間的距離等分成16份的15個(gè)分割點(diǎn),并將這些分割點(diǎn)與第二消失點(diǎn)連接。同樣地,計(jì)算將頂點(diǎn)C與第二點(diǎn)之間的距離等分成16份的15個(gè)分割點(diǎn),并將這些分割點(diǎn)與第一消失點(diǎn)連接。然后,將由此生成的交叉點(diǎn)確定為實(shí)拍圖像中的采樣點(diǎn)。本發(fā)明的發(fā)明人的驗(yàn)證結(jié)果表明,與第一確定方法相比,采用第二確定方法便能夠更合適地確定實(shí)拍圖像中的采樣點(diǎn)。然而,即使是第一確定方法也比圖51所示的方法更為有利,因而至于是采用第一確定方法還是第二確定方法,設(shè)計(jì)人可根據(jù)檢測精度的要求、或標(biāo)記50的圖案的復(fù)雜程度等條件來適宜地決定。與圖51所示的方法相比,如上述第一確定方法或第二確定方法中所述那樣,通過將至少一對(duì)相向的2個(gè)邊中的各邊不均等地分割來確定實(shí)拍圖像中的采樣點(diǎn),能夠更為正確地判別標(biāo)記50。此外,作為將相向的2個(gè)邊中的各邊不均等地分割的方法,不局限于上述第一確定方法或第二確定方法,也可以采用其它方法。另外,由于剛結(jié)束頂點(diǎn)檢測處理時(shí),還不知道通過頂點(diǎn)檢測處理而檢測出的第一頂點(diǎn) 第四頂點(diǎn)中哪ー個(gè)頂點(diǎn)對(duì)應(yīng)于標(biāo)記50的左上頂點(diǎn)、左下頂點(diǎn)、右下頂點(diǎn)、右上頂點(diǎn)中的哪ー個(gè)頂點(diǎn),所以,可以考慮以下四種情況。即第一頂點(diǎn)對(duì)應(yīng)于左上頂點(diǎn)的情況;第ー頂點(diǎn)對(duì)應(yīng)于左下頂點(diǎn)的情況;第一頂點(diǎn)對(duì)應(yīng)于右下頂點(diǎn)的情況;第一頂點(diǎn)對(duì)應(yīng)于右上頂點(diǎn)的情況。由此,在圖案判別處理中,對(duì)于這四種情況,分別進(jìn)行與模式定義數(shù)據(jù)之間的核對(duì)。其結(jié)果,檢測出實(shí)拍圖像中的左上頂點(diǎn)的坐標(biāo)、左下頂點(diǎn)的坐標(biāo)、右下頂點(diǎn)的坐標(biāo)及右上頂點(diǎn)的坐標(biāo),并將這些坐標(biāo)作為標(biāo)記位置信息而存儲(chǔ)于主存儲(chǔ)器32。另ー方面,在游戲裝置10中,根據(jù)實(shí)時(shí)地從攝像機(jī)依次獲取的實(shí)拍圖像,以規(guī)定的周期(例如,以60分之I秒的周期)反復(fù)地執(zhí)行如上所述的輪廓檢測處理、頂點(diǎn)檢測處理、粗略判別處理及圖案判別處理。由此,便能實(shí)時(shí)地檢測出實(shí)拍圖像中的標(biāo)記50的位置。
然而,因照射到標(biāo)記50上的光線的狀況等原因,有可能出現(xiàn)雖然在實(shí)拍圖像中顯示出標(biāo)記50,但是實(shí)拍圖像中的標(biāo)記50的輪廓及頂點(diǎn)的檢測暫時(shí)失敗的情況。若標(biāo)記50的輪廓及頂點(diǎn)的檢測暫時(shí)失敗,則例如在圖4所示的狀態(tài)下,雖然用戶未移動(dòng)游戲裝置10,但是虛擬對(duì)象60卻暫時(shí)消失。若虛擬對(duì)象60頻繁地消失或出現(xiàn),則用戶會(huì)感到掃興。在本實(shí)施方式中,為了避免上述不良現(xiàn)象(標(biāo)記位置無意中發(fā)生變動(dòng))發(fā)生,在當(dāng)前的實(shí)拍圖像中的標(biāo)記50的輪廓及頂點(diǎn)的檢測失敗的情況下,根據(jù)從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的頂點(diǎn)(或者采樣點(diǎn))的位置,來對(duì)當(dāng)前的實(shí)拍圖像進(jìn)行圖案判別處理。在此,“當(dāng)前的實(shí)拍圖像”是指正在處理中的實(shí)拍圖像,而未必是用攝像機(jī)拍攝到的最新的實(shí)拍圖像。具體而言,在當(dāng)前的實(shí)拍圖像中的標(biāo)記50的輪廓及頂點(diǎn)的檢測失敗的情況下,如圖61所示那樣,從存儲(chǔ)于主存儲(chǔ)器32的標(biāo)記位置信息中,獲取從前一個(gè)實(shí)拍圖像中檢測出來的標(biāo)記50的4個(gè)頂點(diǎn)(或者,基于該4個(gè)頂點(diǎn)而確定的采樣點(diǎn))的位置。然后,如圖62所示那樣,根據(jù)從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的4個(gè)頂點(diǎn)的位置,來確定當(dāng)前的實(shí)拍圖像中的采樣點(diǎn)的位置,并使用這樣確定了的采樣點(diǎn)(或者,在前一次圖案判別處理中 確定了的采樣點(diǎn))的像素值,來進(jìn)行圖案判別處理。然后,作為該圖案判別處理的結(jié)果,若判斷為當(dāng)前的實(shí)拍圖像中的與前一個(gè)實(shí)拍圖像中的位置相同的位置上存在標(biāo)記50,則將前一個(gè)實(shí)拍圖像中的標(biāo)記50的4個(gè)頂點(diǎn)的坐標(biāo)作為對(duì)應(yīng)于當(dāng)前的實(shí)拍圖像的標(biāo)記位置信息而存儲(chǔ)于主存儲(chǔ)器32。通過如上所述的處理,在用戶不移動(dòng)游戲裝置10的情況下,即使實(shí)拍圖像中的標(biāo)記50的輪廓及頂點(diǎn)的檢測暫時(shí)失敗,也能夠檢測出標(biāo)記50的位置。由此,如上所述,能夠避免用戶未移動(dòng)游戲裝置10而虛擬對(duì)象60卻頻繁地消失或出現(xiàn)這樣的現(xiàn)象發(fā)生。另外,當(dāng)前的實(shí)拍圖像中的標(biāo)記50的位置有可能偏離前ー個(gè)實(shí)拍圖像中的標(biāo)記50的位置。于是,在其它實(shí)施方式中,除了前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置以外,還可以將前ー個(gè)實(shí)拍圖像中的標(biāo)記50的位置附近的范圍作為對(duì)象來進(jìn)行圖案判別處理。例如,也可以將從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的4個(gè)頂點(diǎn)的位置移動(dòng)數(shù)次,毎次執(zhí)行圖案判別處理,然后將多次處理的結(jié)果中與模式定義數(shù)據(jù)的最接近的4個(gè)頂點(diǎn)的位置確定為當(dāng)前的實(shí)拍圖像中的標(biāo)記50的4個(gè)頂點(diǎn)的位置。另外,雖然在本實(shí)施方式中,在當(dāng)前的實(shí)拍圖像中的標(biāo)記50的輪廓及頂點(diǎn)的檢測失敗的情況下,根據(jù)從前ー個(gè)實(shí)拍圖像檢測出的標(biāo)記50的頂點(diǎn)(或者采樣點(diǎn))的位置,來對(duì)當(dāng)前的實(shí)拍圖像進(jìn)行圖案判別處理,但是不局限于此,也可以根據(jù)從當(dāng)前的實(shí)拍圖像之前的其它任何實(shí)拍圖像中檢測出來的標(biāo)記50的頂點(diǎn)(或者采樣點(diǎn))的位置(即,根據(jù)與已存儲(chǔ)于主存儲(chǔ)器32的、其它任何實(shí)拍圖像對(duì)應(yīng)的標(biāo)記位置信息),來對(duì)當(dāng)前的實(shí)拍圖像進(jìn)行圖案判別處理。另外,雖然在本實(shí)施方式中,在當(dāng)前的實(shí)拍圖像中的標(biāo)記50的輪廓及頂點(diǎn)的檢測失敗的情況下,根據(jù)從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的頂點(diǎn)(或者采樣點(diǎn))的位置,來對(duì)當(dāng)前的實(shí)拍圖像進(jìn)行圖案判別處理,但是上述處理不僅適用于利用如圖48 圖60所示的模式匹配手法來進(jìn)行圖案判別處理的情況,也適用于利用公知的其它任何模式匹配手法來進(jìn)行圖案判別處理的情況。(標(biāo)記位置修改處理>
下面,說明標(biāo)記位置修改處理。標(biāo)記位置修改處理是指,適當(dāng)?shù)匦薷耐ㄟ^圖案判別處理而檢測出的標(biāo)記50的位置(即,標(biāo)記50的黒色區(qū)域的4個(gè)頂點(diǎn)的位置)的處理。對(duì)標(biāo)記位置修改處理進(jìn)行具體說明之前,首先說明不進(jìn)行標(biāo)記位置修改處理時(shí)有可能出現(xiàn)的不良現(xiàn)象。如上所述,根據(jù)對(duì)實(shí)拍圖像進(jìn)行的輪廓檢測處理的結(jié)果,能夠檢測出實(shí)拍圖像中的標(biāo)記50的位置。在該輪廓檢測處理中,通過對(duì)比邊界判斷閾值與各個(gè)像素的亮度值來檢測邊界像素。在此,若存在具有非常接近邊界判斷閾值的亮度值的像素,例如,該像素有可 能在某一個(gè)實(shí)拍圖像中被判斷為黑色區(qū)域,而在下一個(gè)實(shí)拍圖像中被判斷為白色區(qū)域。這樣的現(xiàn)象在完全不移動(dòng)攝像機(jī)(即游戲裝置10)的情況下也會(huì)發(fā)生。其理由是,因?yàn)榄h(huán)境光等影響,各個(gè)像素的亮度值會(huì)隨時(shí)間的變化而略微發(fā)生變化。這樣,輪廓檢測處理的結(jié)果一有變化,最終檢測出的實(shí)拍圖像中的標(biāo)記50的位置就會(huì)產(chǎn)生變化,因而,例如即使用戶未移動(dòng)游戲裝置10,圖4所示的虛擬對(duì)象60的位置或方向也會(huì)有所變化。即,虛擬空間圖像產(chǎn)生抖動(dòng)。為了避免(或改善)這ー不良現(xiàn)象的發(fā)生,在本實(shí)施方式中進(jìn)行標(biāo)記位置修改處理。在標(biāo)記位置修改處理中,首先,根據(jù)從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的位置、及從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記50的位置,計(jì)算出實(shí)拍圖像中的標(biāo)記50的移動(dòng)量。參照?qǐng)D63來說明計(jì)算實(shí)拍圖像中的標(biāo)記50的移動(dòng)量的方法的一例。如圖63所示那樣,將從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的左上頂點(diǎn)當(dāng)作VpI,將左下頂點(diǎn)當(dāng)作Vp2,將右下頂點(diǎn)當(dāng)作Vp3,將右上頂點(diǎn)當(dāng)作Vp4,將從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記50的左上頂點(diǎn)當(dāng)作Vcl,將左下頂點(diǎn)當(dāng)作Vc2,將右下頂點(diǎn)當(dāng)作Vc3,將右上頂點(diǎn)當(dāng)作Vc4。然后,將Vpl與Vcl之間的距離當(dāng)作a,將Vp2與Vc2之間的距離當(dāng)作b,將Vp3與Vc3之間的距離當(dāng)作C,將Vp4與Vc4之間的距離當(dāng)作d,則實(shí)拍圖像中的標(biāo)記50的移動(dòng)量便成為a~2+b~2+c~2+cT2( 表示乘方)。在此,上述計(jì)算方法只不過是一例,計(jì)算在實(shí)拍圖像中的標(biāo)記50的移動(dòng)量的方法不局限于此。算出在實(shí)拍圖像中的標(biāo)記50的移動(dòng)量之后,接下來根據(jù)該移動(dòng)量,對(duì)在圖案判別處理中檢測出的標(biāo)記50的位置進(jìn)行修改。參照?qǐng)D64來說明標(biāo)記50的位置的修改方法。在標(biāo)記50的移動(dòng)量小于Dl的情況下,將當(dāng)前的實(shí)拍圖像中的標(biāo)記50的各個(gè)頂點(diǎn)Vc (圖63的Vcl Vc4)的位置分別修改到前一次檢測出的各個(gè)頂點(diǎn)Vp (圖63的Vpl Vp4)的位置。在此,Dl是規(guī)定的閾值,如后述那樣,根據(jù)實(shí)拍圖像上的標(biāo)記50的大小而相應(yīng)地發(fā)生變化。在標(biāo)記50的移動(dòng)量大于或等于Dl且小于D2的情況下,將當(dāng)前的實(shí)拍圖像中的標(biāo)記50的各個(gè)頂點(diǎn)Vc (圖63的Vcl Vc4)的位置修改到用算式VpXA+VcX (I-A)算出的位置。在此,D2是大于Dl的規(guī)定的閾值,如后述那樣,按照在實(shí)拍圖像上的標(biāo)記50的大小而相應(yīng)地發(fā)生變化。此外,A是大于0且小于I的規(guī)定值,如后述那樣,根據(jù)標(biāo)記50的運(yùn)動(dòng)向量而相應(yīng)地發(fā)生變化。在標(biāo)記50的移動(dòng)量大于或等于D2的情況下,對(duì)當(dāng)前的實(shí)拍圖像中的標(biāo)記50的各個(gè)頂點(diǎn)Vc (圖63的Vcl Vc4)的位置不進(jìn)行修改。如上所述,在標(biāo)記50的移動(dòng)量小于Dl的情況下(即,標(biāo)記50的移動(dòng)量非常小的情況下),視為標(biāo)記50的位置與前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置完全相同。因此,能夠避免如上所述的無意中發(fā)生的標(biāo)記位置的變動(dòng),其結(jié)果,能夠防止虛擬空間圖像抖動(dòng)的現(xiàn)象。另外,在標(biāo)記50的移動(dòng)量大于或等于Dl且小于D2的情況下(即,標(biāo)記50的移動(dòng)量較小的情況下),如圖65所示,將標(biāo)記50的位置修改到連接前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置與當(dāng)前的實(shí)拍圖像中的標(biāo)記50的位置的線段上的位置(S卩,以(I-A) A的比率對(duì)從Vp到Vc為止的線段進(jìn)行內(nèi)分后得到的點(diǎn))。這樣,能夠改善如上所述的標(biāo)記位置無意中發(fā)生變動(dòng),從而減輕虛擬空間圖像的抖動(dòng)。另外,與標(biāo)記50的移動(dòng)量小于Dl的情況不同,修改后的標(biāo)記50的位置比前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置更靠近當(dāng)前的實(shí)拍圖像中的標(biāo)記50的位置,因而當(dāng)用戶略微(或者緩慢地)移動(dòng)了游戲裝置10吋,能夠在改善標(biāo)記位置無意中發(fā)生變動(dòng)的同時(shí),根據(jù)游戲裝置10的移動(dòng)而相應(yīng)地更新標(biāo)記50的位置(即,虛擬對(duì)象60的位置)。
此外,在標(biāo)記50的移動(dòng)量大于或等于D2的情況下(即,標(biāo)記50的移動(dòng)量較大的情況下),不修改標(biāo)記50的位置。這樣,當(dāng)用戶突然大幅移動(dòng)游戲裝置10吋,能夠立即響應(yīng)突如其來的游戲裝置10的移動(dòng),而相應(yīng)地更新標(biāo)記50的位置。因此,例如圖4中所顯示的虛擬對(duì)象60不會(huì)大幅偏離標(biāo)記50。下面,對(duì)確定上述閾值Dl及D2的方法進(jìn)行說明。如上所述,上述閾值Dl及D2是用于判斷在實(shí)拍圖像中的標(biāo)記50的移動(dòng)量有多大(即,是非常小,是較小,還是很大)的閾值,優(yōu)選根據(jù)實(shí)拍圖像中的標(biāo)記50的大小來相應(yīng)地變更這些閾值。下面,參照?qǐng)D66及圖67來說明其理由。圖66示出的是,實(shí)拍圖像上的標(biāo)記50較大的情況下(即,在現(xiàn)實(shí)世界中,標(biāo)記50位于離攝像機(jī)較近的位置的情況下),將虛擬對(duì)象60顯示在前一個(gè)標(biāo)記位置上的例子。在此,假設(shè)前一個(gè)標(biāo)記位置與當(dāng)前的標(biāo)記位置之間的距離(在實(shí)拍圖像上的距離)為D。在此情況下,從用戶的角度來看,虛擬對(duì)象60似乎沒有大幅偏離當(dāng)前的標(biāo)記位置。圖67示出的是,實(shí)拍圖像上的標(biāo)記50較小的情況下(即,在現(xiàn)實(shí)世界中,標(biāo)記50位于離攝像機(jī)較遠(yuǎn)的位置的情況下),將虛擬對(duì)象60顯示在前一個(gè)標(biāo)記位置(即,前ー個(gè)實(shí)拍圖像中的標(biāo)記50的位置)上的例子。在此情況下,與圖66—祥,假設(shè)前一個(gè)標(biāo)記位置與當(dāng)前的標(biāo)記位置之間的距離(在實(shí)拍圖像上的距離)為D。在此情況下,從用戶的角度來看,虛擬對(duì)象60似乎大幅偏離了當(dāng)前的標(biāo)記位置。從圖66及圖67可明顯看出,雖然前一個(gè)標(biāo)記位置與當(dāng)前的標(biāo)記位置之間的距離(在實(shí)拍圖像上的距離)相同,但是從用戶的角度來看,實(shí)拍圖像上的標(biāo)記50越小,前ー個(gè)標(biāo)記位置與當(dāng)前的標(biāo)記位置之間偏離看上去越大。所以,如圖68所示,優(yōu)選在實(shí)拍圖像上的標(biāo)記50較大的情況下將Dl的值設(shè)定得較大;而在實(shí)拍圖像上的標(biāo)記50較小的情況下將Dl的值設(shè)定得較小。即,優(yōu)選在實(shí)拍圖像上的標(biāo)記50越小,將Dl的值設(shè)定得越小。同樣地,如圖69所示,優(yōu)選在實(shí)拍圖像上的標(biāo)記50較大的情況下將D2的值設(shè)定得較大;在實(shí)拍圖像上的標(biāo)記50較小的情況下將D2的值設(shè)定得較小。即,優(yōu)選在實(shí)拍圖像上的標(biāo)記50越小,將D2的值設(shè)定得越小。另外,作為計(jì)算實(shí)拍圖像上的標(biāo)記50的大小的方法,可以考慮各種方法。例如,可以將實(shí)拍圖像上的標(biāo)記50的面積作為實(shí)拍圖像上的標(biāo)記50的大小來進(jìn)行計(jì)算。在其它實(shí)施方式中,也可以將實(shí)拍圖像上的標(biāo)記50的兩個(gè)對(duì)角線的外積的大小作為實(shí)拍圖像上的標(biāo)記50的大小來進(jìn)行計(jì)算。此外,在其它實(shí)施方式中,也可以將內(nèi)含在實(shí)拍圖像上的標(biāo)記50的4個(gè)頂點(diǎn)的圓的直徑作為實(shí)拍圖像上的標(biāo)記50的大小來進(jìn)行計(jì)算。此外,在其它實(shí)施方式中,也可以根據(jù)實(shí)拍圖像上的標(biāo)記50的X軸向的寬度及Y軸向的寬度,來計(jì)算實(shí)拍圖像上的標(biāo)記50的大小。下面,對(duì)確定上述規(guī)定值A(chǔ)的方法進(jìn)行說明。如上所述,在標(biāo)記50的移動(dòng)量大于或等于Dl且小于D2的情況下,如圖65所示,標(biāo)記50的位置被修改到以(I-A) A的比率來對(duì)連接前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置與當(dāng)前的實(shí)拍圖像中的標(biāo)記50的位置的線段進(jìn)行內(nèi)分后得到的點(diǎn)。在此,在將A的值固定為較小的值(例如,0. I)的情況下,標(biāo)記50的位置被修改到與前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置大致相同的位置。由此導(dǎo)致響應(yīng)性降低,即使實(shí)拍圖 像中的標(biāo)記50的位置發(fā)生了變化,虛擬對(duì)象60的位置也不會(huì)發(fā)生太大的變化。因此,存在著以下問題例如,當(dāng)用戶將游戲裝置10向希望的方向持續(xù)緩慢地移動(dòng)時(shí),用戶觀看到的虛擬對(duì)象60明顯偏離標(biāo)記50。相反,在將A的值固定為較大的值(例如,0. 9)的情況下,標(biāo)記50的位置被修改到與當(dāng)前的實(shí)拍圖像中的標(biāo)記50的位置大致相同的位置。所以,存在著以下問題雖然響應(yīng)性得到提高,但是減輕如上所述的無意中發(fā)生的標(biāo)記位置的變動(dòng)的效果會(huì)大幅減弱。為解決上述兩個(gè)問題,在本實(shí)施方式中,根據(jù)標(biāo)記50的運(yùn)動(dòng)向量來使A的值變化。具體而言,根據(jù)某一個(gè)實(shí)拍圖像中的標(biāo)記50的位置(例如,標(biāo)記50的各個(gè)頂點(diǎn)的位置)及其前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置,依次計(jì)算表示標(biāo)記50向哪一個(gè)方向移動(dòng)的運(yùn)動(dòng)向量,并將其結(jié)果依次存儲(chǔ)于主存儲(chǔ)器32。然后,根據(jù)新算出的運(yùn)動(dòng)向量及存儲(chǔ)于主存儲(chǔ)器32的過去已算出的運(yùn)動(dòng)向量,判斷標(biāo)記50在實(shí)拍圖像中是否在一定方向(也可以是大致一定的方向)上持續(xù)地移動(dòng),若標(biāo)記50是在一定方向上持續(xù)地移動(dòng),則將A的值設(shè)定為較大的值,若標(biāo)記50不是在一定方向上持續(xù)地移動(dòng),則將A的值設(shè)定為較小的值。通過使A的值如上所述那樣變化,例如,在用戶將游戲裝置10向希望的方向緩慢持續(xù)地移動(dòng)的期間,響應(yīng)性得到提高,因而不會(huì)出現(xiàn)虛擬對(duì)象60看上去大幅偏離標(biāo)記50的情況。并且,在除此之外的狀況下,響應(yīng)性會(huì)降低,因而能夠充分發(fā)揮如上所述的改善不希望的標(biāo)記位置的變動(dòng)的效果。此外,雖然在本實(shí)施方式中,如圖64所示,在標(biāo)記50的移動(dòng)量小于Dl的情況下、在標(biāo)記50的移動(dòng)量大于或等于Dl且小于D2的情況下、以及標(biāo)記50的移動(dòng)量大于或等于D2的情況下,采用不同的方法來修改標(biāo)記50的位置(例如4個(gè)頂點(diǎn)的位置),但這只不過是一例,修改標(biāo)記50的位置的方法不局限于此。例如,作為其它實(shí)施方式,如圖70所示,在標(biāo)記50的移動(dòng)量小于D3的情況下,也可以將根據(jù)當(dāng)前的實(shí)拍圖像檢測出的標(biāo)記50的位置修改到前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置;在標(biāo)記50的移動(dòng)量大于或等于D3的情況下,也可以不修改根據(jù)當(dāng)前的實(shí)拍圖像檢測出的標(biāo)記50的位置而直接使用該位置。這樣能夠防止無意中發(fā)生的標(biāo)記位置的變動(dòng)。在此,D3是規(guī)定的閾值,但也可以根據(jù)實(shí)拍圖像上的標(biāo)記50的大小而相應(yīng)地改變其值。另外,作為其它實(shí)施方式,如圖71所示,在標(biāo)記50的移動(dòng)量小于D4的情況下,也可以將根據(jù)當(dāng)前的實(shí)拍圖像而檢測出的標(biāo)記50的位置修改到以(I-A) A的比率來對(duì)連接前一個(gè)實(shí)拍圖像 中的標(biāo)記50的位置與當(dāng)前的實(shí)拍圖像中的標(biāo)記50的位置的線段進(jìn)行內(nèi)分后得到的點(diǎn);在標(biāo)記50的移動(dòng)量大于或等于D4的情況下,也可以不修改根據(jù)當(dāng)前的實(shí)拍圖像檢測出的標(biāo)記50的位置而直接使用該位置。這樣能夠改善不希望的標(biāo)記位置的變動(dòng)。在此,D4是規(guī)定的閾值,但也可以根據(jù)實(shí)拍圖像上的標(biāo)記50的大小而相應(yīng)地改變其值。另外,雖然在標(biāo)記位置修改處理中,如上所述那樣使用標(biāo)記50的移動(dòng)量或標(biāo)記50的運(yùn)動(dòng)向量來進(jìn)行處理,但是在實(shí)拍圖像中包含圖案相同的多個(gè)標(biāo)記的情況下,需要分別判定其中哪一個(gè)標(biāo)記移動(dòng)到何處。例如,如圖72所示,在從前一個(gè)實(shí)拍圖像中檢測出圖案相同的多個(gè)標(biāo)記(標(biāo)記A、標(biāo)記B),而且從當(dāng)前的實(shí)拍圖像中也檢測出具有與這些標(biāo)記相同的圖案的多個(gè)標(biāo)記(第一標(biāo)記、第二標(biāo)記)的情況下,需要判別這些標(biāo)記之間的對(duì)應(yīng)關(guān)系。在本實(shí)施方式中,分別計(jì)算從前一個(gè)實(shí)拍圖像中檢測出的各個(gè)標(biāo)記的代表點(diǎn)與從當(dāng)前的實(shí)拍圖像中檢測出的各個(gè)標(biāo)記的代表點(diǎn)之間的距離,并在該距離小于規(guī)定的閾值的情況下,判斷為該兩個(gè)標(biāo)記是互相對(duì)應(yīng)的。作為標(biāo)記的代表點(diǎn),例如可以利用通過對(duì)標(biāo)記的4個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行平均而得到的坐標(biāo)。參照?qǐng)D72來進(jìn)行具體的說明,首先,計(jì)算從標(biāo)記A的代表點(diǎn)到第一標(biāo)記為止的距離,在該距離小于規(guī)定的閾值(較佳的是,在實(shí)拍圖像上的標(biāo)記A或者第一標(biāo)記越大,將該閾值設(shè)定得越大)的情況下,判斷為標(biāo)記A與第一標(biāo)記相對(duì)應(yīng)。同樣地,計(jì)算出從標(biāo)記A的代表點(diǎn)到第二標(biāo)記為止的距離,在該距離小于規(guī)定的閾值(較佳的是,在實(shí)拍圖像上的標(biāo)記A或者第二標(biāo)記越大,將該閾值設(shè)定得越大)的情況下,判斷為標(biāo)記A與第二標(biāo)記相對(duì)應(yīng)。并且,同樣計(jì)算出從標(biāo)記B的代表點(diǎn)到第一標(biāo)記為止的距離,在該距離小于規(guī)定的閾值(較佳的是,在實(shí)拍圖像上的標(biāo)記B或者第一標(biāo)記越大,將該閾值設(shè)定得越大)的情況下,判斷為標(biāo)記B與第一標(biāo)記相對(duì)應(yīng)。并且,同樣計(jì)算出從標(biāo)記B的代表點(diǎn)到第二標(biāo)記為止的距離,在該距離小于規(guī)定的閾值(較佳的是,在實(shí)拍圖像上的標(biāo)記B或者第二標(biāo)記越大,將該閾值設(shè)定得越大)的情況下,便判斷為標(biāo)記B與第二標(biāo)記相對(duì)應(yīng)。通過如上所述那樣判別標(biāo)記之間的對(duì)應(yīng)關(guān)系,即使在實(shí)拍圖像中包含有圖案相同的多個(gè)標(biāo)記的情況下,也能夠計(jì)算出各個(gè)標(biāo)記的移動(dòng)量或運(yùn)動(dòng)向量。此外,在實(shí)拍圖像包含不同圖案的多個(gè)標(biāo)記的情況下,能夠根據(jù)這些圖案來判別標(biāo)記之間的對(duì)應(yīng)關(guān)系。另外,雖然在上述標(biāo)記位置修改處理中,根據(jù)從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的位置、及從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記50的位置,來計(jì)算實(shí)拍圖像中的標(biāo)記50的移動(dòng)量,但是不局限于此,例如,也可以根據(jù)從當(dāng)前的實(shí)拍圖像之前已獲取的任何實(shí)拍圖像(例如,當(dāng)前的實(shí)拍圖像的前兩個(gè)實(shí)拍圖像等)中檢測出的標(biāo)記50的位置、及從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記50的位置,來計(jì)算實(shí)拍圖像中的標(biāo)記50的移動(dòng)量。如上所述,經(jīng)過輪廓檢測處理、頂點(diǎn)檢測處理、粗略判別處理、圖案判別處理及標(biāo)記位置修改處理,而從實(shí)拍圖像中檢測出標(biāo)記50的位置(例如,標(biāo)記50的黑色區(qū)域的4個(gè)頂點(diǎn)的位置)。然后,根據(jù)這樣檢測出來的標(biāo)記50的位置,計(jì)算出現(xiàn)實(shí)空間中的攝像機(jī)(外側(cè)拍攝部(左)23a或外側(cè)拍攝部(右)23b)與標(biāo)記50之間的位置關(guān)系,并根據(jù)該計(jì)算結(jié)果,來設(shè)定在虛擬空間中的虛擬攝像機(jī)與虛擬對(duì)象60之間的位置關(guān)系。然后,對(duì)應(yīng)于該虛擬攝像機(jī)而生成虛擬空間圖像,在攝像機(jī)所拍攝的實(shí)拍圖像上合成虛擬空間圖像,并將該合成之后的圖像顯示在上部IXD22。下面,具體說明CPU311根據(jù)圖像識(shí)別程序而執(zhí)行的圖像識(shí)別處理的流程。圖73表示存儲(chǔ)于主存儲(chǔ)器32的程序及數(shù)據(jù)。在主存儲(chǔ)器32中,存儲(chǔ)有圖像識(shí)別程序70、圖像生成程序71、虛擬對(duì)象數(shù)據(jù)72、虛擬攝像機(jī)數(shù)據(jù)73、模式定義數(shù)據(jù)74、實(shí)拍圖像數(shù)據(jù)75、邊界判斷閾值76、邊界像素信息77、直線信息78、頂點(diǎn)信息79、標(biāo)記位置信息80、運(yùn)動(dòng)向量信息81及各種變數(shù)82。圖像識(shí)別程序70是用于從實(shí)拍圖像中檢測標(biāo)記的電腦程序,圖像生成程序71是用于根據(jù)標(biāo)記的位置來在實(shí)拍圖像上合成虛擬空間圖像的電腦程序,該標(biāo)記是根據(jù)圖像識(shí)別程序而檢測出來的。這些程序既可以從數(shù)據(jù)保存用內(nèi)部存儲(chǔ)器35載入到主存儲(chǔ)器32中,又可以從外部存儲(chǔ)器44載入到主存儲(chǔ)器32中,也可以經(jīng)由無線通信模塊36或局部通信模塊37從服務(wù)器裝置或其它游戲裝置下載到主存儲(chǔ)器32中。另外,至于CPU311根據(jù)圖像生成程序71而執(zhí)行的圖像生成處理,可以利用現(xiàn)有技術(shù),由于與本發(fā)明關(guān)連性不大,因此,本說明書中省略詳細(xì)的說明。另外,也可以將圖像識(shí)別程序70及圖像生成程序71構(gòu)成為一個(gè)圖像處理程序。虛擬對(duì)象數(shù)據(jù)72是有關(guān)配置于虛擬空間的虛擬對(duì)象60的形狀、顏色和圖樣等的數(shù)據(jù)。虛擬攝像機(jī)數(shù)據(jù)73是有關(guān)配置于虛擬空間的虛擬攝像機(jī)的位置或姿勢等的數(shù)據(jù)。模式定義數(shù)據(jù)74是預(yù)先被存儲(chǔ)的、用于判別標(biāo)記50并表示標(biāo)記50的圖案的數(shù)據(jù)(圖 49)。實(shí)拍圖像數(shù)據(jù)75是攝像機(jī)(外側(cè)拍攝部(左)23a或者外側(cè)拍攝部(右)23b)所拍攝的實(shí)拍圖像的圖像數(shù)據(jù)。邊界判斷閾值76是用于判斷在輪廓檢測處理中,實(shí)拍圖像的各個(gè)像素是否是邊界像素的閾值。邊界像素信息77是在輪廓檢測處理中被判定為邊界像素的像素的信息。直線信息78是在直線計(jì)算處理中被生成及被更新的直線的信息。頂點(diǎn)信息79是在頂點(diǎn)計(jì)算處理中計(jì)算出的頂點(diǎn)的信息。標(biāo)記位置信息80是通過頂點(diǎn)檢測處理而生成、且在標(biāo)記位置修改處理中根據(jù)需要而被更新的信息,用于表示實(shí)拍圖像中的標(biāo)記50的位置(標(biāo)記50的黑色區(qū)域的4個(gè)頂點(diǎn)的位置)。標(biāo)記位置信息80不僅包括表示從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記50的位置的信息(80a),也包括表示從前一個(gè)實(shí)拍圖像中檢測出的標(biāo)記50的位置的信息(80b)。運(yùn)動(dòng)向量信息81是表示運(yùn)動(dòng)向量的信息,該運(yùn)動(dòng)向量表示標(biāo)記50移動(dòng)的方向。各種變數(shù)82是執(zhí)行圖像識(shí)別程序70或圖像生成程序71時(shí)所使用的各種變數(shù)(例如,白色區(qū)域亮度Lw、黑色區(qū)域亮度Lb、閾值D1、閾值D2及規(guī)定值A(chǔ)等)。首先,參照?qǐng)D74來對(duì)CPU311根據(jù)圖像識(shí)別程序而執(zhí)行的圖像識(shí)別處理的整體流程進(jìn)行說明。步驟SI中,CPU311獲取攝像機(jī)(外側(cè)拍攝部(左)23a或者外側(cè)拍攝部(右)23b)所拍攝到的實(shí)拍圖像,并將其存儲(chǔ)于主存儲(chǔ)器32。、
步驟S2中,CPU311進(jìn)行輪廓檢測處理。對(duì)于輪廓檢測處理的具體流程,后述中將參照?qǐng)D75來進(jìn)行說明。步驟S3中,CPU311判斷在步驟S2的輪廓檢測處理中是否檢測出輪廓,若檢測出輪廓,則處理進(jìn)入步驟S4 ;若未檢測出輪廓,則處理進(jìn)入步驟S9。步驟S4中,CPU311進(jìn)行頂點(diǎn)檢測處理。對(duì)于頂點(diǎn)檢測處理的具體流程,在后述中將參照?qǐng)D76來進(jìn)行說明。步驟S5中,CPU311判斷在步驟S4的頂點(diǎn)檢測處理中是否檢測出頂點(diǎn),若檢測出頂點(diǎn),則處理進(jìn)入步驟S6 ;若未檢測出頂點(diǎn),則處理進(jìn)入步驟S9。步驟S6中,CPU311進(jìn)行粗略判別處理。對(duì)于粗略判別處理的具體流程,在后述中將參照?qǐng)D77來進(jìn)行說明。步驟S7中,CPU311根據(jù)步驟S6的粗略判別處理的結(jié)果,判斷是否存在可以成為標(biāo)記50的頂點(diǎn)的候補(bǔ)頂點(diǎn),若檢測出可以成為標(biāo)記50的頂點(diǎn)的候補(bǔ)頂點(diǎn),則處理進(jìn)入步驟S8 ;若未檢測出可以成為標(biāo)記50的頂點(diǎn)的候補(bǔ)頂點(diǎn),則處理進(jìn)入步驟S12。步驟S8中,CPU311進(jìn)行圖案判別處理。對(duì)于圖案判別處理的具體流程,在后述中將參照?qǐng)D78來進(jìn)行說明。步驟S9中,CPU311根據(jù)前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置(即,從前一個(gè)實(shí)拍圖像中檢測出來的頂點(diǎn)的位置或者在前一個(gè)實(shí)拍圖像中確定下來的采樣點(diǎn)的位置),來進(jìn)行圖案判別處理。步驟SlO中,CPU311判斷在步驟S8或者步驟S9的圖案判別處理中是否檢測出標(biāo)記50,若檢測出頂點(diǎn),則處理進(jìn)入步驟Sll ;若未檢測出頂點(diǎn),則處理進(jìn)入步驟S12。步驟SI I中,CPU311進(jìn)行標(biāo)記位置修改處理。對(duì)于標(biāo)記位置修改處理的具體流程,在后述中將參照?qǐng)D79來進(jìn)行說明。步驟S12中,CPU311判斷是否要結(jié)束圖像識(shí)別處理,在要繼續(xù)進(jìn)行圖像識(shí)別處理的情況下,返回步驟SI,在要結(jié)束圖像識(shí)別處理的情況下,結(jié)束圖像識(shí)別程序的執(zhí)行。下面,參照?qǐng)D75來說明CPU311根據(jù)圖像識(shí)別程序而執(zhí)行的輪廓檢測處理的流程。步驟S21中,CPU311確定注目像素P(n)。步驟S22中,CPU311判斷L(n-8)-L(n)是否大于或等于60,若該值大于或等于60,則進(jìn)入步驟S23 ;若該值小于60,則進(jìn)入步驟S34。
步驟S23中,CPU311將8作為初始值代入變數(shù)k。步驟S24 中,CPU311 判斷 L(n_k_l)是否小于 L (n_k),若 L (n_k_l)小于 L(n_k),則進(jìn)入步驟S25 ;若L(n-k-l)不小于L(n-k),則進(jìn)入步驟S26。步驟S25中,CPU311使變數(shù)k遞增。步驟S26中,CPU311將L(n-k)確定為白色區(qū)域亮度值Lw。步驟S27中,CPU311判斷L(n)是否小于L (n+2),若L (n)小于L (n+2),則進(jìn)入步驟S28 ;若L(n)不小于L (n+2),則進(jìn)入步驟S30。步驟S28中,CPU311判斷Lw_L(n+2)是否大于或等于60,若該值大于或等于60,則進(jìn)入步驟S29 ;若該值小于60,則進(jìn)入步驟S30。步驟S29中,CPU311將L(n+2)確定為黑色區(qū)域亮度值Lb。步驟S30中,CPU311將L(n)確定為黑色區(qū)域亮度值Lb。
步驟S31中,CPU311將Lw和Lb的平均值確定為邊界判斷閾值。步驟S32中,CPU311根據(jù)邊界判斷閾值來檢測起點(diǎn)邊界像素。該起點(diǎn)邊界像素的坐標(biāo)作為邊界像素信息被存儲(chǔ)于主存儲(chǔ)器32。步驟S33中,CPU311執(zhí)行以起點(diǎn)邊界像素為起點(diǎn)來依次追蹤相鄰的邊界像素的邊界追蹤處理。該邊界追蹤處理中依次檢測出來的邊界像素的坐標(biāo)作為邊界像素信息而被依次存儲(chǔ)于主存儲(chǔ)器32。步驟S34中,CPU311判斷是否存在下一個(gè)注目像素,若存在則返回步驟S21 ;若不存在(即,在關(guān)于實(shí)拍圖像的所有注目像素候補(bǔ)的處理完畢的情況下)則結(jié)束輪廓檢測處理。下面,參照?qǐng)D76來對(duì)CPU311根據(jù)圖像識(shí)別程序而執(zhí)行的頂點(diǎn)檢測處理的流程進(jìn)行說明。步驟S41中,CPU311生成最初的直線(即,與從起點(diǎn)邊界像素Pe(O)到邊界像素Pe (5)為止的邊界像素相對(duì)應(yīng)的直線Li (0-5)),并將表示該直線的數(shù)據(jù)存儲(chǔ)于主存儲(chǔ)器32。步驟S42中,CPU311根據(jù)假定直線相對(duì)直線的角度來判斷所生成的直線與假定直線是否在同一直線上(參照?qǐng)D24),其中,上述假定直線是根據(jù)后繼于與該直線對(duì)應(yīng)的邊界像素群的多個(gè)邊界像素而算出的。若在同一直線上,則進(jìn)入步驟S43 ;若不在同一直線上,則進(jìn)入步驟S44。步驟S43中,CPU311更新直線。具體而言,根據(jù)對(duì)應(yīng)于直線的邊界像素群、及對(duì)應(yīng)于假定直線的邊界像素群,并用最小二乘法計(jì)算出直線,并根據(jù)該計(jì)算結(jié)果來更新直線(即,更新存儲(chǔ)于主存儲(chǔ)器32的、表示該直線的數(shù)據(jù))。步驟S44中,CPU311根據(jù)假定直線相對(duì)于直線的角度來判斷黑色區(qū)域是否在直線與假定直線的交點(diǎn)處呈凸角(參照?qǐng)D24)。然后,若呈凸角則進(jìn)入步驟S45;若不呈凸角則進(jìn)入步驟S47。步驟S45中,CPU311重新生成與假定直線對(duì)應(yīng)的直線,并將表示該新生成的直線的數(shù)據(jù)重新存儲(chǔ)于主存儲(chǔ)器32。步驟S46中,CPU311判斷是否沿著黑色區(qū)域的輪廓繞了一周(即,是否返回起點(diǎn)邊界像素),若已繞完一周,則進(jìn)入步驟S49 ;若未繞完一周,則返回步驟S42。步驟S47中,CPU311判斷是否正沿著逆時(shí)針方向進(jìn)行直線計(jì)算處理(即步驟S42 步驟S46的處理),若正沿著逆時(shí)針方向進(jìn)行,則進(jìn)入步驟S48 ;若未沿逆時(shí)針方向進(jìn)行,則進(jìn)入步驟S49。本實(shí)施方式中,當(dāng)作首先應(yīng)沿著逆時(shí)針方向開始直線計(jì)算處理。步驟S48中,CPU311將進(jìn)行直線計(jì)算處理的方向從逆時(shí)針方向變更為順時(shí)針方向。步驟S49中,CPU311根據(jù)存儲(chǔ)于主存儲(chǔ)器32的表示多條直線的數(shù)據(jù),判斷在該多條直線中是否存在位于同一直線上且朝向同一方向的多條線段,若存在則進(jìn)入步驟S50 ;若不存在則進(jìn)入步驟S51。步驟S50中,CPU311將位于同一直線上且朝向同一方向的多條線段統(tǒng)合成一條線 段,并更新存儲(chǔ)于主存儲(chǔ)器32的有關(guān)多條直線的數(shù)據(jù)。步驟S51中,CPU311根據(jù)存儲(chǔ)于主存儲(chǔ)器32的有關(guān)多條直線的數(shù)據(jù),從該多條直線中選出四條直線。具體而言,計(jì)算出各直線(線段)的長度,并選出最長的直線、第二長的直線、第三長的直線、及第四長的直線。步驟S52中,CPU311通過計(jì)算出上述四條直線間的交點(diǎn)的位置,來計(jì)算出黑色區(qū)域的4個(gè)頂點(diǎn)的位置。然后,將該4個(gè)頂點(diǎn)的位置存儲(chǔ)于主存儲(chǔ)器32,并結(jié)束頂點(diǎn)檢測處理。
下面,參照?qǐng)D77來對(duì)CPU311根據(jù)圖像識(shí)別程序而執(zhí)行的粗略判別處理的流程進(jìn)行說明。步驟S61中,CPU311判斷在頂點(diǎn)檢測處理中檢測出的4個(gè)頂點(diǎn)是否滿足除外條件
A。如上所述,除外條件A是任何相鄰的2個(gè)頂點(diǎn)之間的距離太近的情況。若上述4個(gè)頂點(diǎn)滿足除外條件A,則進(jìn)入步驟S65 ;若上述4個(gè)頂點(diǎn)不滿足除外條件A,則進(jìn)入步驟S62。步驟S62中,CPU311判斷在頂點(diǎn)檢測處理中檢測出的4個(gè)頂點(diǎn)是否滿足除外條件
B。如上所述那樣,除外條件B是任何頂點(diǎn)與不與該頂點(diǎn)相鄰的2個(gè)邊中的任一邊之間的距離太近的情況。若4個(gè)頂點(diǎn)滿足除外條件B則進(jìn)入步驟S65 ;若4個(gè)頂點(diǎn)不滿足除外條件B,則進(jìn)入步驟S63。步驟S63中,CPU311判斷在頂點(diǎn)檢測處理中檢測出的4個(gè)頂點(diǎn)是否滿足除外條件
C。如上所述那樣,除外條件C是任何相向的2個(gè)邊的直線大致為同一方向的情況。若滿足除外條件C,則進(jìn)入步驟S65 ;若不滿足除外條件C,則進(jìn)入步驟S64。步驟S64中,CPU311判斷在頂點(diǎn)檢測處理中檢測出來的4個(gè)頂點(diǎn)是否滿足除外條件D。除外條件D是如上所述那樣包括凹角的情況。若滿足除外條件D,則進(jìn)入步驟S65;若不滿足除外條件D,則結(jié)束粗略判別處理。步驟S65中,CPU311將在頂點(diǎn)檢測處理中檢測出的4個(gè)頂點(diǎn)從圖案判別處理的處理對(duì)象中排除(例如,將有關(guān)該4個(gè)頂點(diǎn)的數(shù)據(jù)從主存儲(chǔ)器32中刪除)。然后,結(jié)束粗略判別處理。下面,參照?qǐng)D78來對(duì)CPU311根據(jù)圖像識(shí)別程序而執(zhí)行的圖案判別處理的流程進(jìn)行說明。步驟S71中,CPU311從以通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)為角頂點(diǎn)而形成的四角形的4個(gè)邊中,選擇任意相向的2個(gè)邊。步驟S72中,CPU311判斷在步驟S71選出的2個(gè)邊是否平行(包括大致平行的情況),若平行則進(jìn)入步驟S73 ;若不平行則進(jìn)入步驟S74。步驟S73中,CPU311將在步驟S71選出的2個(gè)邊中的各邊等分成16份。步驟S74中,CPU311將在步驟S71選出的2個(gè)邊中的各邊(例如,用圖53 圖55所示的方法)不均等地分割成16份。步驟S75中,CPU311在以通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)為角頂點(diǎn)而形成的四角形的4個(gè)邊中,選出在步驟S71中未選擇的相向的2個(gè)邊。步驟S76中,CPU311判斷在步驟S75選出的2個(gè)邊是否平行(包括大致平行的情況),若平行則進(jìn)入步驟S77 ;若不平行則進(jìn)入步驟S78。步驟S77中,CPU311將在步驟S75選出的2個(gè)邊中的各邊等分成16份。步驟S78中,CPU311將在步驟S75選出的2個(gè)邊中的各邊(例如,用圖53 圖55所示的方法)不均等地分割成16份。
步驟S79中,CPU311根據(jù)通過分割以4個(gè)頂點(diǎn)為角頂點(diǎn)而形成的四角形的4個(gè)邊而確定的采樣點(diǎn)的像素值、及在模式定義數(shù)據(jù)中定義的采樣點(diǎn)的像素值,來計(jì)算表示這些采樣點(diǎn)之間的類似程度的相關(guān)性系數(shù),上述4個(gè)頂點(diǎn)是通過頂點(diǎn)檢測處理而檢測出的頂點(diǎn)。步驟S80中,CPU311根據(jù)在步驟S79計(jì)算出的相關(guān)性系數(shù),來判別以通過頂點(diǎn)檢測處理而檢測出的4個(gè)頂點(diǎn)為角頂點(diǎn)而形成的區(qū)域上顯示出的圖案、與標(biāo)記50的圖案是否一致,若一致則進(jìn)入步驟S81 ;若不一致則結(jié)束圖案判別處理。步驟S81中,CPU311將實(shí)拍圖像中的標(biāo)記50的4個(gè)頂點(diǎn)(左上頂點(diǎn)、左下頂點(diǎn)、右下頂點(diǎn)、右上頂點(diǎn))的坐標(biāo)作為標(biāo)記位置信息來存儲(chǔ)于主存儲(chǔ)器32。下面,參照?qǐng)D79來對(duì)CPU311根據(jù)圖像識(shí)別程序而執(zhí)行的標(biāo)記位置修改處理的流 程進(jìn)行說明。步驟S91中,CPU311計(jì)算出實(shí)拍圖像上的標(biāo)記50的大小,并將其結(jié)果存儲(chǔ)于主存儲(chǔ)器32。步驟S92中,CPU311判斷在前一個(gè)實(shí)拍圖像中是否存在與從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記相同的標(biāo)記,若存在則進(jìn)入步驟S93 ;若不存在則結(jié)束標(biāo)記位置修改處理(即,不修改從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記的位置而直接使用該位置)。在此,至于在前一個(gè)實(shí)拍圖像中是否存在與從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記相同的標(biāo)記,例如可根據(jù)在步驟S91計(jì)算出的標(biāo)記50的大小,并用參照?qǐng)D72進(jìn)行了說明的方法來作出判斷。步驟S93中,CPU311根據(jù)在步驟S91計(jì)算出的標(biāo)記50的大小,來計(jì)算出閾值Dl及D2 (圖68、圖69),并將其存儲(chǔ)于主存儲(chǔ)器32。步驟S94中,CPU311判斷標(biāo)記50的移動(dòng)量是否小于D1,若小于Dl則進(jìn)入步驟S95 ;若不小于Dl則進(jìn)入步驟S96。步驟S95中,CPU311將在圖案判別處理中檢測出的標(biāo)記50的位置修改到前一次已檢測出的標(biāo)記的位置。然后,結(jié)束標(biāo)記位置修改處理。步驟S96中,CPU311判斷標(biāo)記50的移動(dòng)量是否小于D2,若小于D2則進(jìn)入步驟S97 ;若不小于D2則結(jié)束標(biāo)記位置修改處理(S卩,不修改從當(dāng)前的實(shí)拍圖像中檢測出的標(biāo)記的位置而直接使用該位置)。步驟S97中,CPU311計(jì)算出標(biāo)記50的運(yùn)動(dòng)向量,并根據(jù)該運(yùn)動(dòng)向量及過去的運(yùn)動(dòng)向量來確定規(guī)定值A(chǔ)。具體而言,根據(jù)這些運(yùn)動(dòng)向量,判斷在實(shí)拍圖像中標(biāo)記50是否向一定方向持續(xù)移動(dòng),若標(biāo)記50是向一定方向持續(xù)移動(dòng),則使A的值變大;若標(biāo)記50不是向一定方向持續(xù)移動(dòng),則使A的值變小。在此計(jì)算出的運(yùn)動(dòng)向量作為運(yùn)動(dòng)向量信息81而被存儲(chǔ)于主存儲(chǔ)器32。步驟S98中,CPU311將標(biāo)記50的位置修改到以(1_A) A的比率來對(duì)連接前一個(gè)實(shí)拍圖像中的標(biāo)記50的位置與當(dāng)前的實(shí)拍圖像中的標(biāo)記50的位置的線段進(jìn)行內(nèi)分后得到的點(diǎn)。然后,結(jié)束標(biāo)記位置修改處理?!醋冃卫盗硗?,雖然在上述實(shí)施方式中,對(duì)于(I)輪廓檢測處理、(2)頂點(diǎn)檢測處理、(3)粗略判別處理、(4)圖案判別處理、及(5)標(biāo)記位置修改處理,分別說明了具體的處理方法,但是也可以將這些處理中的一個(gè)以上的處理置換成現(xiàn)有技術(shù)中的處理。
另外,作為圖像識(shí)別處理的處理對(duì)象的圖像不局限于從攝像機(jī)依次實(shí)時(shí)獲取的實(shí)拍圖像,例如,既可以是過去用攝像機(jī)拍攝并存儲(chǔ)于數(shù)據(jù)保存用內(nèi)部存儲(chǔ)器35等的圖像,又可以是從其它裝置接收到的圖像,也可以是經(jīng)由外部存儲(chǔ)媒體而獲取的圖像。另外,圖像識(shí)別處理的識(shí)別對(duì)象不局限于標(biāo)記50的黑色區(qū)域,也可以是圖像中包含的任何物體(例如,人的臉或手)或者圖案。另外,圖像識(shí)別處理的處理結(jié)果不僅能夠應(yīng)用于AR技術(shù),也可以應(yīng)用于其它任何用途。另外,雖然在本實(shí)施方式中,在游戲裝置10中執(zhí)行圖像處理(圖像識(shí)別處理及圖像生成處理),但是不局限于此,也可以在固定型游戲裝置、個(gè)人電腦、手機(jī)等任何信息處理裝置(或者信息處理系統(tǒng))中執(zhí)行圖像處理。 另外,雖然在本實(shí)施方式中,在I臺(tái)游戲裝置10中執(zhí)行上述圖像處理,但是在其它實(shí)施方式中,也可以使互相能夠通信的多個(gè)信息處理裝置分擔(dān)執(zhí)行該圖像處理。另外,雖然在本實(shí)施方式中,由一個(gè)CPU311執(zhí)行圖像識(shí)別程序等,但是在其它實(shí)施方式中,也可以由多個(gè)CPU311來分擔(dān)執(zhí)行圖像識(shí)別程序等。另外,雖然在本實(shí)施方式中,CPU311根據(jù)圖像識(shí)別程序等來執(zhí)行上述圖像處理,但是在其它實(shí)施方式中,也可以讓CPU311以外的其它硬件來執(zhí)行圖像處理的一部分。另外,雖然在上述實(shí)施方式中,在攝像機(jī)所拍攝的實(shí)拍圖像上合成虛擬空間圖像并將其顯示在上部LCD22 (視頻透視式(video see-through)),但是取代之,也可以采用光學(xué)透視方式(optical see-through),即在透射式的顯示畫面上顯示虛擬對(duì)象,以使用戶感覺到在通過該透射式的顯示畫面而看到的現(xiàn)實(shí)世界中似乎真的存在虛擬對(duì)象。以上對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,但上述說明只不過例示出了本發(fā)明的各個(gè)方面,并沒有限定其范圍。在不超出本發(fā)明范圍的情況下,當(dāng)然也可以進(jìn)行各種改良和變形。
權(quán)利要求
1.ー種圖像識(shí)別裝置,包括 獲取圖像的圖像獲取単元; 差值計(jì)算単元,計(jì)算第一像素的像素值與第二像素的像素值之間的差值,其中,所述第一像素是所述圖像中的像素,所述第二像素是與上述第一像素相隔η個(gè)像素的位置上存在的像素,η為規(guī)定的整數(shù); 閾值計(jì)算單元,根據(jù)所述差值大于或等于規(guī)定值時(shí)的所述第一像素或者其附近的像素的像素值、及對(duì)應(yīng)于該第一像素的所述第二像素或者其附近的像素的像素值,來計(jì)算邊界判斷閾值 '及 邊界像素檢測單元,通過將位于所述第一像素和所述第二像素之間的各個(gè)像素的像素值與所述邊界判斷閾值進(jìn)行比較,來檢測與存在于所述第一像素和所述第二像素之間的邊界對(duì)應(yīng)的邊界像素。
2.如權(quán)利要求I所述的圖像識(shí)別裝置,其特征在干, 所述閾值計(jì)算單元包括 第一檢測部,從所述第一像素和所述第二像素中像素值較大的像素、及其周邊的像素的像素值之中檢測出極大值;及 第一計(jì)算部,根據(jù)所述第一檢測部所檢測出的極大值來計(jì)算所述邊界判斷閾值。
3.如權(quán)利要求2所述的圖像識(shí)別裝置,其特征在于,所述第一檢測部通過從所述第一像素和所述第二像素中像素值較大的像素起沿著背朝像素值較小的像素的方向,依次判斷相鄰的2個(gè)像素之間的像素值的大小關(guān)系,來檢測所述極大值。
4.如權(quán)利要求I 3中任ー項(xiàng)所述的圖像識(shí)別裝置,其特征在干, 所述閾值計(jì)算單元包括 第二判斷部,判斷特定附近像素的像素值是否滿足規(guī)定條件,該特定附近像素是指,從所述第一像素和所述第二像素中像素值較小的像素來看,在背朝像素值較大的像素的一偵||,且與該像素值較小的像素相隔m個(gè)像素的位置上存在的像素,m為規(guī)定的整數(shù);及 第二計(jì)算部,在所述第二判斷部判斷為所述規(guī)定條件被滿足的情況下,該第二計(jì)算部根據(jù)所述特定附近像素的像素值來計(jì)算所述邊界判斷閾值。
5.如權(quán)利要求4所述的圖像識(shí)別裝置,其特征在于,在所述第一像素和所述第二像素中像素值較小的像素的像素值小于所述特定附近像素的像素值,而且所述第一像素和所述第二像素中像素值較大的像素或者其附近的像素的像素值、與所述特定附近像素的像素值之間的差值大于或等于所述規(guī)定值的情況下,所述第二判斷部判斷為所述規(guī)定條件被滿足。
6.如權(quán)利要求I 5中任一項(xiàng)所述的圖像識(shí)別裝置,其特征在于,所述閾值計(jì)算單元將所述第一像素或者其附近的像素的像素值與所述第二像素或者其附近的像素的像素值的平均值作為所述邊界判斷閾值算出。
7.如權(quán)利要求I 6中任ー項(xiàng)所述的圖像識(shí)別裝置,其特征在于,還包括其它邊界像素檢測單元,該其它邊界像素檢測單元根據(jù)所述邊界判斷閾值來檢測出其他部分的邊界像素,該其他部分的邊界像素是指,位干與所述邊界像素檢測單元所檢測出的邊界像素相對(duì)應(yīng)的那一部分邊界之外的邊界上的像素。
8.如權(quán)利要求7所述的圖像識(shí)別裝置,其特征在于,所述其它邊界像素檢測單元根據(jù)所述邊界判斷閾值,從與已檢測出的邊界像素相鄰的多個(gè)像素中檢測出與該邊界像素相連的新的邊界像素。
9.如權(quán)利要求7或8所述的圖像識(shí)別裝置,其特征在于,還包括相同判斷単元,該相同判斷単元判斷所述其它邊界像素檢測單元所檢測出的新的邊界像素是否與已檢測出來的任何邊界像素相同; 若所述相同判斷單元連續(xù)規(guī)定次數(shù)地判斷為所述其它邊界像素檢測單元依次檢測出的新的邊界像素與已檢測出來的任何邊界像素相同,則所述其它邊界像素檢測單元中止依次檢測新的邊界像素的處理。
10.如權(quán)利要求I所述的圖像識(shí)別裝置,其特征在于,在所述第一像素和所述第二像素中像素值較大的像素的像素值小于其周邊的像素的像素值的情況下,所述閾值計(jì)算單元根據(jù)該周邊的像素的像素值來計(jì)算所述邊界判斷閾值。
11.ー種圖像識(shí)別方法,包括 獲取圖像的圖像獲取步驟; 差值計(jì)算步驟,計(jì)算第一像素的像素值與第二像素的像素值之間的差值,其中,所述第一像素是所述圖像中的像素,所述第二像素是與所述第一像素相隔η個(gè)像素的位置上存在的像素,η為規(guī)定的整數(shù); 閾值計(jì)算步驟,根據(jù)所述差值大于或等于規(guī)定值時(shí)的所述第一像素或者其附近的像素的像素值、及對(duì)應(yīng)于該第一像素的所述第二像素或者其附近的像素的像素值,來計(jì)算邊界判斷閾值 '及 邊界像素檢測步驟,通過將位于所述第一像素和所述第二像素之間的各個(gè)像素的像素值與所述邊界判斷閾值進(jìn)行比較,來檢測出與存在于所述第一像素和所述第二像素之間的邊界對(duì)應(yīng)的邊界像素。
12.如權(quán)利要求11所述的圖像識(shí)別方法,其特征在干, 所述閾值計(jì)算步驟包括 第一檢測步驟,從所述第一像素和所述第二像素中像素值較大的像素、及其周邊的像素的像素值之中檢測出極大值;及 第一計(jì)算步驟,根據(jù)所述第一檢測步驟中檢測出的極大值來計(jì)算所述邊界判斷閾值。
13.如權(quán)利要求12所述的圖像識(shí)別方法,其特征在于,所述第一檢測步驟中,通過從所述第一像素和所述第二像素中像素值較大的像素起沿著背朝像素值較小的像素的方向,依次判斷相鄰的2個(gè)像素之間的像素值的大小關(guān)系,來檢測所述極大值。
14.如權(quán)利要求11 13中任ー項(xiàng)所述的圖像識(shí)別方法,其特征在干, 所述閾值計(jì)算步驟包括 第二判斷步驟,判斷特定附近像素的像素值是否滿足規(guī)定條件,該特定附近像素是指,從所述第一像素和所述第二像素中像素值較小的像素來看,在背朝像素值較大的像素的一偵||,且與該像素值較小的像素相隔m個(gè)像素的位置上存在的像素,m為規(guī)定的整數(shù);及 第二計(jì)算步驟,在所述第二判斷步驟判斷為所述規(guī)定條件被滿足的情況下,該第二計(jì)算步驟根據(jù)所述特定附近像素的像素值來計(jì)算所述邊界判斷閾值。
15.如權(quán)利要求14所述的圖像識(shí)別方法,其特征在于,在所述第一像素和所述第二像素中像素值較小的像素的像素值小于所述特定附近像素的像素值,而且所述第一像素和所述第二像素中像素值較大的像素或者其附近的像素的像素值、與所述特定附近像素的像素值之間的差值大于或等于所述規(guī)定值的情況下,所述第二判斷步驟中判斷為所述規(guī)定條件被滿足。
16.如權(quán)利要求11 15中任ー項(xiàng)所述的圖像識(shí)別方法,其特征在于,在所述閾值計(jì)算步驟中,將所述第一像素或者其附近的像素的像素值與所述第二像素或者其附近的像素的像素值的平均值作為所述邊界判斷閾值算出。
17.如權(quán)利要求11 16中任ー項(xiàng)所述的圖像識(shí)別方法,其特征在于,還包括其它邊界像素檢測步驟,在該其它邊界像素檢測步驟中,根據(jù)所述邊界判斷閾值來檢測出其他部分的邊界像素,該其他部分的邊界像素是指,位干與所述邊界像素檢測步驟中檢測出的邊界像素相對(duì)應(yīng)的那一部分邊界之外的邊界上的像素。
18.如權(quán)利要求17所述的圖像識(shí)別方法,其特征在于,在所述其它邊界像素檢測步驟中,根據(jù)所述邊界判斷閾值,從與已檢測出的邊界像素相鄰的多個(gè)像素中檢測出與該邊界像素相連的新的邊界像素。
19.如權(quán)利要求17或18所述的圖像識(shí)別方法,其特征在于,還包括相同判斷步驟,在該相同判斷步驟中,判斷所述其它邊界像素檢測步驟中檢測出的新的邊界像素是否與已檢測出來的任何邊界像素相同; 若在所述相同判斷步驟中連續(xù)規(guī)定次數(shù)地判斷為所述其它邊界像素檢測步驟中依次檢測出的新的邊界像素與已檢測出來的任何邊界像素相同,則在所述其它邊界像素檢測步驟中,中止依次檢測新的邊界像素的處理。
20.如權(quán)利要求11所述的圖像識(shí)別方法,其特征在于,在所述第一像素和所述第二像素中像素值較大的像素的像素值小于其周邊的像素的像素值的情況下,所述閾值計(jì)算步驟中根據(jù)該周邊的像素的像素值來計(jì)算所述邊界判斷閾值。
21.—種圖像識(shí)別系統(tǒng),具備圖像識(shí)別裝置和標(biāo)記, 所述圖像識(shí)別裝置包括 拍攝部,拍攝所述標(biāo)記的; 圖像獲取単元,從所述拍攝部獲取圖像; 差值計(jì)算単元,計(jì)算第一像素的像素值與第二像素的像素值之間的差值,其中,所述第一像素是所述圖像中的像素,所述第二像素是與上述第一像素相隔η個(gè)像素的位置上存在的像素,η為規(guī)定的整數(shù); 閾值計(jì)算單元,根據(jù)所述差值大于或等于規(guī)定值時(shí)的所述第一像素或者其附近的像素的像素值、及對(duì)應(yīng)于該第一像素的所述第二像素或者其附近的像素的像素值,來計(jì)算邊界判斷閾值 '及 邊界像素檢測單元,通過將位于所述第一像素和所述第二像素之間的各個(gè)像素的像素值與所述邊界判斷閾值進(jìn)行比較,來檢測出與存在于所述第一像素和所述第二像素之間的邊界對(duì)應(yīng)的邊界像素。
22.如權(quán)利要求21所述的圖像識(shí)別系統(tǒng),其特征在干, 所述閾值計(jì)算單元包括 第一檢測部,從所述第一像素和所述第二像素中像素值較大的像素、及其周邊的像素的像素值之中檢測出極大值;及第一計(jì)算部,根據(jù)所述第一檢測部所檢測出的極大值來計(jì)算所述邊界判斷閾值。
23.如權(quán)利要求22所述的圖像識(shí)別系統(tǒng),其特征在于,所述第一檢測部通過從所述第一像素和所述第二像素中像素值較大的像素起沿著背朝像素值較小的像素的方向,依次判斷相鄰的2個(gè)像素之間的像素值的大小關(guān)系,來檢測所述極大值。
24.權(quán)利要求21 23中任一項(xiàng)所述的圖像識(shí)別系統(tǒng),其特征在干, 所述閾值計(jì)算單元包括 第二判斷部,判斷特定附近像素的像素值是否滿足規(guī)定條件,該特定附近像素是指,從所述第一像素和所述第二像素中像素值較小的像素來看,在背朝像素值較大的像素的一偵||,且與該像素值較小的像素相隔m個(gè)像素的位置上存在的像素,m為規(guī)定的整數(shù);及 第二計(jì)算部,在所述第二判斷部判斷為所述規(guī)定條件被滿足的情況下,該第二計(jì)算部根據(jù)所述特定附近像素的像素值來計(jì)算所述邊界判斷閾值。
25.如權(quán)利要求24所述的圖像識(shí)別系統(tǒng),其特征在于,在所述第一像素和所述第二像素中像素值較小的像素的像素值小于所述特定附近像素的像素值,而且所述第一像素和所述第二像素中像素值較大的像素或者其附近的像素的像素值、與所述特定附近像素的像素值之間的差值大于或等于所述規(guī)定值的情況下,所述第二判斷部判斷為所述規(guī)定條件被滿足。
26.如權(quán)利要求21 25中任一項(xiàng)所述的圖像識(shí)別系統(tǒng),其特征在于,所述閾值計(jì)算單元將所述第一像素或者其附近的像素的像素值與所述第二像素或者其附近的像素的像素值的平均值作為所述邊界判斷閾值算出。
27.如權(quán)利要求21 26中任一項(xiàng)所述的圖像識(shí)別系統(tǒng),其特征在干,圖像識(shí)別裝置還包括其它邊界像素檢測單元,該其它邊界像素檢測單元根據(jù)所述邊界判斷閾值來檢測出其他部分的邊界像素,該其他部分的邊界像素是指,位干與所述邊界像素檢測單元所檢測出的邊界像素相對(duì)應(yīng)的那一部分邊界之外的邊界上的像素。
28.如權(quán)利要求27所述的圖像識(shí)別系統(tǒng),其特征在于,所述其它邊界像素檢測單元根據(jù)所述邊界判斷閾值,從與已檢測出的邊界像素相鄰的多個(gè)像素中檢測出與該邊界像素相連的新的邊界像素。
29.如權(quán)利要求27或28所述的圖像識(shí)別系統(tǒng),其特征在于,所述圖像識(shí)別裝置還包括相同判斷単元,該相同判斷単元判斷所述其它邊界像素檢測單元所檢測出來的新的邊界像素是否與已檢測出來的任何邊界像素相同; 若所述相同判斷單元連續(xù)規(guī)定次數(shù)地判斷為所述其它邊界像素檢測單元依次檢測出的新的邊界像素與已檢測出來的任何邊界像素相同,則所述其它邊界像素檢測單元中止依次檢測新的邊界像素的處理。
30.如權(quán)利要求21所述的圖像識(shí)別系統(tǒng),其特征在于,在所述第一像素和所述第二像素中像素值較大的像素的像素值小于其周邊的像素的像素值的情況下,所述閾值計(jì)算單元根據(jù)該周邊的像素的像素值來計(jì)算所述邊界判斷閾值。
全文摘要
本發(fā)明涉及一種圖像識(shí)別裝置、圖像識(shí)別系統(tǒng)及圖像識(shí)別方法。首先,計(jì)算出圖像中的第一像素的像素值、與位于與該第一像素相隔規(guī)定個(gè)數(shù)的像素的位置的第二像素的像素值之間的差值。然后,在該差值大于或等于規(guī)定值的情況下,根據(jù)第一像素或者其附的近像素的像素值、和第二像素或者其附近的像素的像素值,來計(jì)算出邊界判斷閾值。最后,通過將位于第一像素和第二像素之間的各個(gè)像素的像素值與邊界判斷閾值進(jìn)行比較,來檢測出與存在于第一像素和第二像素之間的邊界對(duì)應(yīng)的邊界像素。
文檔編號(hào)G06K9/20GK102651064SQ20111034589
公開日2012年8月29日 申請(qǐng)日期2011年11月2日 優(yōu)先權(quán)日2011年2月24日
發(fā)明者尾迫悟 申請(qǐng)人:任天堂株式會(huì)社