專利名稱:紅眼檢測(cè)的方法
紅眼檢測(cè)的方法
背景技術(shù):
盡管有在減少照片中的紅眼的發(fā)生方面的技術(shù)改進(jìn),但紅眼對(duì)于專業(yè)人員、消費(fèi)者和公司而言仍是普遍的問題。已經(jīng)嘗試了許多解決方案以處理此頻繁的問題,包括產(chǎn)生紅眼消減算法。然而,嘗試解決紅眼問題的大多數(shù)先前的方法已簡(jiǎn)單地包括在應(yīng)用檢測(cè)處理之前降低圖像的分辨率。另外,與存儲(chǔ)器效率相反,先前的算法是針對(duì)計(jì)算速度和性能的穩(wěn)健性而設(shè)計(jì)的。先前的算法要求多達(dá)7個(gè)附加平面,要求每個(gè)像素7字節(jié)的存儲(chǔ)。一個(gè)平面需要存儲(chǔ)RGB空間中的紅色(redness)的測(cè)量結(jié)果,一個(gè)平面存儲(chǔ)CieLab空間中的紅色的測(cè)量結(jié)果,四個(gè)平面存儲(chǔ)綜合的(integrated) RGB紅色值,并且一個(gè)平面存儲(chǔ)超出紅色閾值的像素的二進(jìn)制圖。雖然這些方法已經(jīng)在個(gè)人計(jì)算機(jī)上產(chǎn)生了令人滿意的結(jié)果,但對(duì)于嵌入式硬件而言還不能這樣說(shuō)?,F(xiàn)有紅眼消減算法常常要求大量的可用存儲(chǔ)器。諸如打印機(jī)、 數(shù)字照相機(jī)、掃描儀之類的依賴于嵌入式硬件的設(shè)備和所有一體化設(shè)備通常由于存儲(chǔ)器限制而在利用紅眼消減算法時(shí)表現(xiàn)得不好。
通過結(jié)合附圖進(jìn)行的以下詳細(xì)說(shuō)明,本發(fā)明的各種特征和優(yōu)點(diǎn)將是顯而易見的, 附圖一起以示例的方式舉例說(shuō)明本發(fā)明的特征,并且在附圖中
圖1舉例說(shuō)明正在被系統(tǒng)訪問的數(shù)字圖像和由系統(tǒng)產(chǎn)生的其中已識(shí)別紅眼的數(shù)字圖像。圖2是舉例說(shuō)明根據(jù)本發(fā)明的實(shí)施例的、用于標(biāo)記紅像素的方法的流程圖。圖3舉例說(shuō)明根據(jù)本發(fā)明的實(shí)施例的、在像素圖(pixel map)上描繪的二維陣列的表示。圖4是舉例說(shuō)明根據(jù)本發(fā)明的實(shí)施例的、用于產(chǎn)生和擴(kuò)展相鄰群組的方法的流程圖。圖5是舉例說(shuō)明用于確定相鄰群組是否是紅眼的方法的流程圖。圖6是舉例說(shuō)明根據(jù)本發(fā)明的實(shí)施例的、用于檢測(cè)紅眼的高級(jí)方法的流程圖。圖7舉例說(shuō)明可以獨(dú)立地或相互結(jié)合地使用所述系統(tǒng)的不同裝置和設(shè)備、打印機(jī)、數(shù)字照相機(jī)、計(jì)算機(jī)、服務(wù)器和存儲(chǔ)介質(zhì)。
具體實(shí)施例方式現(xiàn)在將對(duì)在附圖中舉例說(shuō)明的示例性實(shí)施例進(jìn)行參考,并且將在本文中使用特定語(yǔ)言來(lái)對(duì)其進(jìn)行描述。然而,應(yīng)理解的是,并不從而意圖限制本發(fā)明的范圍。在相關(guān)領(lǐng)域內(nèi)并已擁有本公開的普通技術(shù)人員將想到的本文舉例說(shuō)明的發(fā)明特征的變更和其它修改以及如本文舉例說(shuō)明的本發(fā)明的原理的附加應(yīng)用將被視為在本發(fā)明的范圍內(nèi)。圖1舉例說(shuō)明正在被系統(tǒng)100訪問的數(shù)字圖像110和由系統(tǒng)100產(chǎn)生的其中已識(shí)別紅眼的數(shù)字圖像180。該系統(tǒng)包括數(shù)字采樣器120、下采樣數(shù)字圖像130、下采樣數(shù)字圖像130的像素圖140、像素消除器(eliminator) 150、像素分段器(segmentor) 160和群組分類器170。如本領(lǐng)域內(nèi)的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖1中所描繪的那些之外和/或替代圖1中所描繪的那些,系統(tǒng)100可以包括附加的組件或子系統(tǒng)。如上所述,數(shù)字圖像110被系統(tǒng)100訪問。圖1中所示的數(shù)字采樣器120接收數(shù)字圖像110并產(chǎn)生下采樣數(shù)字圖像130。然后由像素消除器150來(lái)產(chǎn)生并訪問下采樣數(shù)字圖像130的像素圖140。如上所述,如圖1中所示的像素消除器150訪問下采樣數(shù)字圖像 130的像素圖140。像素消除器150掃描包含在下采樣數(shù)字圖像130的像素圖140中的每個(gè)像素,并計(jì)算每個(gè)像素的紅色水平。每個(gè)像素的紅色水平的計(jì)算可以在一個(gè)或多個(gè)階段中完成?,F(xiàn)在將參考圖2中的流程圖來(lái)解釋如圖1中所描繪的像素消除器150的操作。圖 2是舉例說(shuō)明根據(jù)本發(fā)明的實(shí)施例的、用于標(biāo)記像素的方法的流程圖。在一個(gè)實(shí)施例中,該方法可以由系統(tǒng)100來(lái)執(zhí)行。在其中由系統(tǒng)100來(lái)執(zhí)行圖2的方法的實(shí)施例中,計(jì)算每個(gè)像素的紅色值,需要像素消除器150最初定義紅閾值,如在步驟210中那樣。然后,像素消除器可以在步驟220中檢查是否已經(jīng)分析并標(biāo)記了像素圖150上的每個(gè)像素。像素消除器 150可以掃描像素圖140上的任何未標(biāo)記像素,并且隨后到達(dá)下一個(gè)像素,如在步驟230中那樣。然后,像素消除器可以計(jì)算每個(gè)像素的紅色,如在步驟240中那樣。在計(jì)算每個(gè)像素的紅色時(shí),像素消除器將當(dāng)前正在被掃描的像素的紅色水平與所定義的紅閾值相比較,如在步驟250中那樣。根據(jù)像素彩色成分來(lái)測(cè)量每個(gè)像素的紅色。如果紅色值在閾值之上,則將像素標(biāo)記為“紅”,如在步驟260中那樣。如果紅色值在閾值之下,則中止紅色計(jì)算且方法返回至步驟220。然后,像素消除器150可以掃描并計(jì)算像素圖140上的任何另外的未標(biāo)記像素的紅色。在另一實(shí)施例中,在計(jì)算像素圖140上的每個(gè)像素的紅色水平時(shí),像素消除器150 可以進(jìn)一步確定標(biāo)記為紅的像素的RGB整數(shù)值并使用具有在步驟210中使用的僅一個(gè)除運(yùn)算的整數(shù)算法。然后,像素消除器可以產(chǎn)生閾值RGB值并將這些值與來(lái)自步驟210的標(biāo)記為紅的像素的RGB整數(shù)值相比較。然后,系統(tǒng)100可以記錄計(jì)算的結(jié)果并在群組分類器 170中使用所述結(jié)果,如在步驟270中那樣。在另一實(shí)施例中,可以使用步驟210中的像素的CieLab值來(lái)執(zhí)行上述計(jì)算。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖1和圖2中所描繪的那些之外和/或替代圖1和圖2中所描繪的那些,可以使用其它方法或值來(lái)計(jì)算像素圖140上的每個(gè)像素的紅色值。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,圖1的像素消除器150使用單個(gè)平面來(lái)存儲(chǔ)紅色的基于RGB的測(cè)量結(jié)果180。另外,此算法的實(shí)驗(yàn)結(jié)果已導(dǎo)致僅四分之一的平面被用來(lái)存儲(chǔ)通過像素消除器180的像素的像素圖。結(jié)果,對(duì)算法的動(dòng)態(tài)存儲(chǔ)器要求已被減少到不到以前的五分之一,因?yàn)閷?duì)于圖1和2的實(shí)施例而言,僅要求每個(gè)像素1. 25個(gè)字節(jié)。因此大大地減少了處理數(shù)字圖像110所需的圖像相關(guān)存儲(chǔ)量。另外,提出的方法具有急劇減小的動(dòng)態(tài)存儲(chǔ)器印跡(memory footprint),尤其是當(dāng)與其中可能要求每個(gè)像素7個(gè)字節(jié)的傳統(tǒng)方法相比時(shí)。此外,在執(zhí)行單個(gè)除運(yùn)算時(shí),系統(tǒng)節(jié)省時(shí)鐘周期和處理時(shí)間。許多先前的方法已經(jīng)圍繞跨越相同尺寸的許多區(qū)域連續(xù)地計(jì)算紅色測(cè)量結(jié)果或彩色成分的平均值(需要多次除運(yùn)算)的想法進(jìn)行考慮。
本發(fā)明的實(shí)施例通過執(zhí)行單個(gè)除運(yùn)算而不同于先前的方法,這導(dǎo)致在嵌入式硬件設(shè)備中的改善的性能時(shí)間和較少的資源分配。結(jié)果,本發(fā)明使用較少的資源并因此產(chǎn)生主機(jī)設(shè)備在檢測(cè)紅眼的同時(shí)執(zhí)行另外的任務(wù)的機(jī)會(huì)。在一個(gè)實(shí)施例中,可以以分批的方式或者作為在用戶在便攜式打印設(shè)備或手持式數(shù)字照相機(jī)上瀏覽圖像的同時(shí)執(zhí)行的后臺(tái)例行程序來(lái)執(zhí)行圖2的方法。因此,執(zhí)行圖2的方法(尤其是作為后臺(tái)進(jìn)程)對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)將不是明顯或顯而易見的?,F(xiàn)在返回至圖1,已采樣數(shù)字圖像130的像素圖140 (其中像素被像素消除器150 標(biāo)記)隨后被傳遞至像素分段器160。像素分段器160完整地對(duì)像素圖140進(jìn)行操作,并掃描像素圖的每行以得到已標(biāo)記的紅像素,并且在發(fā)現(xiàn)一個(gè)或多個(gè)已標(biāo)記紅像素相互鄰近時(shí)產(chǎn)生已標(biāo)記紅像素的“相鄰群組”。在本文中,“相鄰群組”被定義為可以在數(shù)字圖像中產(chǎn)生紅眼的一個(gè)或多個(gè)已標(biāo)記紅像素。圖3舉例說(shuō)明根據(jù)本發(fā)明的實(shí)施例的、在(圖1)的下采樣數(shù)字圖像130的像素圖 140上描繪的二維陣列300的表示。圖3的示例包括像素圖140、未被掃描的像素圖的下 20% 330、二維陣列300的層一(310)和二維陣列300的層二(320)。在一個(gè)實(shí)施例中,像素分段器160最初生成二維陣列300。二維陣列300可以用來(lái)掃描像素圖140以得到已標(biāo)記紅像素并存儲(chǔ)像素圖140上的已發(fā)現(xiàn)并標(biāo)記的紅像素的坐標(biāo)。陣列300的第一層(諸如層310)可以用來(lái)掃描過像素圖140的每行以搜索已標(biāo)記紅像素。陣列300的第二層320可以用來(lái)存儲(chǔ)來(lái)自先前掃描的行的先前發(fā)現(xiàn)的已標(biāo)記紅像素的坐標(biāo)。在另一實(shí)施例中,還可以使用雙重鏈接列表來(lái)掃描像素圖并存儲(chǔ)來(lái)自像素圖的信息。 如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖3中所描繪的那些之外和/或替代圖3中所描繪的那些,可以使用另外的掃描儀和管理器(organizer)來(lái)掃描并存儲(chǔ)附加信息?,F(xiàn)在將參考圖4中的流程圖來(lái)解釋(圖1和3)的像素分段器160的操作。圖4是舉例說(shuō)明根據(jù)本發(fā)明的實(shí)施例的、用于產(chǎn)生和擴(kuò)展相鄰群組的方法的流程圖。在一個(gè)實(shí)施例中,像素分段器160可以檢查像素圖140以確定在像素圖140上是否存在任何未掃描行, 如在步驟401中那樣。如果步驟401的結(jié)果指示已經(jīng)掃描了像素圖的每行,則像素分段器 160可以終止并前進(jìn)至(圖1的)群組分類器170。如果尚未掃描每一行,則可以使用陣列的第一層310來(lái)臨時(shí)存儲(chǔ)在未掃描行的掃描期間發(fā)現(xiàn)的任何紅像素的坐標(biāo)402。然后,陣列的第一層310可以確定在所述行中是否仍存在像素403。如果不存在, 則像素分段器160更新所有現(xiàn)有相鄰群組并前進(jìn)至下一行413。如果在該行中仍存在像素, 則像素分段器160檢查該行中的每個(gè)像素,如在步驟404中那樣。像素分段器160檢查每個(gè)像素是否被標(biāo)記為紅的,如在步驟405中那樣。如果未發(fā)現(xiàn)已標(biāo)記紅像素,則像素分段器 160繼續(xù)進(jìn)行以掃描行403中的其余像素。如果發(fā)現(xiàn)了已標(biāo)記紅像素,則像素分段器160將所發(fā)現(xiàn)的已標(biāo)記紅像素的坐標(biāo)存儲(chǔ)在陣列的第二層320中,如在步驟406中那樣。然后,像素分段器160可以將所發(fā)現(xiàn)的已標(biāo)記紅像素的坐標(biāo)與存儲(chǔ)在陣列的第二層320中的每個(gè)先前發(fā)現(xiàn)的已標(biāo)記紅像素相比較,以確定先前發(fā)現(xiàn)的已標(biāo)記紅像素的任何坐標(biāo)是否具有來(lái)自先前行的匹配的相應(yīng)y軸坐標(biāo),如在步驟407中那樣。如果發(fā)現(xiàn)匹配, 則像素分段器160將現(xiàn)有相鄰群組340擴(kuò)展以圍繞當(dāng)前發(fā)現(xiàn)的紅像素,如在步驟411中那樣。如果未發(fā)現(xiàn)匹配,則像素分段器160生成新的相鄰群組340,408,并進(jìn)一步確定是否存在靠近當(dāng)前發(fā)現(xiàn)的紅像素409的水平毗鄰的紅像素。如果不存在靠近當(dāng)前發(fā)現(xiàn)的紅像素的
6水平毗鄰的紅像素,則像素分段器160繼續(xù)掃描該行以得到已標(biāo)記紅像素,如在步驟403中那樣。如果發(fā)現(xiàn)一個(gè)或多個(gè)紅像素水平地鄰近于當(dāng)前發(fā)現(xiàn)的已標(biāo)記紅像素,則像素分段器 160將現(xiàn)有相鄰群組340擴(kuò)展以圍繞當(dāng)前發(fā)現(xiàn)的已標(biāo)記紅像素以及與來(lái)自步驟410的所發(fā)現(xiàn)的已標(biāo)記紅像素水平毗鄰的紅像素。然后,像素分段器160確定是否存在任何現(xiàn)有相鄰群組,諸如如在步驟412中那樣與擴(kuò)展的相鄰群組340相連或與之重疊的先前行中的相鄰群組340。如果未發(fā)現(xiàn)相連或重疊的相鄰群組,則像素分段器繼續(xù)掃描行以得到已標(biāo)記紅像素403。如果在先前行中發(fā)現(xiàn)相連或重疊的相鄰群組340,則已擴(kuò)展的相鄰群組340被再次擴(kuò)展以圍繞所有相連的已標(biāo)記紅像素410。然后,像素分段器160繼續(xù)進(jìn)行以掃描該行的其余部分和像素圖的每行以得到已標(biāo)記紅像素,并重復(fù)用于產(chǎn)生并擴(kuò)展相鄰群組340的先前標(biāo)準(zhǔn)。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖3中所描繪的那些之外和/或替代圖3中所描繪的那些,可以在相鄰群組的產(chǎn)生和擴(kuò)展時(shí)考慮另外的元素或因素。傳統(tǒng)方法包括了測(cè)試以確定非標(biāo)準(zhǔn)色空間中的復(fù)雜三維形狀內(nèi)的候選像素的包含,而本發(fā)明已針對(duì)存儲(chǔ)器性能使操作的關(guān)鍵順序最優(yōu)化。用像素圖上的單遍(single pass)來(lái)實(shí)現(xiàn)像素分段器160且像素分段器160產(chǎn)生更簡(jiǎn)單且更快的比較操作。由于所提出的方法出于此目的使用更標(biāo)準(zhǔn)的色空間,所以現(xiàn)在可以采用先前存在的硬件加速算法來(lái)進(jìn)行色彩轉(zhuǎn)換。另外,像素分段器160僅掃描圖像的上80%,因?yàn)閷?shí)驗(yàn)已顯示候選偽像很少出現(xiàn)在圖像的下20% 330中。上述實(shí)施例針對(duì)存儲(chǔ)器性能使操作最優(yōu)化,并且不要求附加的處理時(shí)間或存儲(chǔ)器資源以掃描不必要的像素。結(jié)果,利用上述實(shí)施例對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)將不是明顯或顯而易見的。在由像素分段器160掃描像素圖140的每行以得到已標(biāo)記紅像素之后,群組分類器170檢查每個(gè)相鄰群組340并確定相鄰群組是否是數(shù)字圖像110中的紅眼,如圖1中所示(180)。群組分類器170對(duì)每個(gè)相鄰群組340運(yùn)行稍后在本文中描述的一系列測(cè)試,并考慮相鄰群組;340的尺寸以及圍繞相鄰群組340的像素?,F(xiàn)在將參考圖5的流程圖來(lái)解釋如圖1中所描繪的群組分類器170的操作,圖5 舉例說(shuō)明了用于確定相鄰群組是否是紅眼的方法。在一個(gè)實(shí)施例中,該方法可以由系統(tǒng) 100來(lái)執(zhí)行。在一個(gè)實(shí)施例中,群組分類器170可以首先檢查以確定是否存在任何相鄰群組340,如在步驟510中那樣。如果發(fā)現(xiàn)任何相鄰群組,則群組分類器170定義上和下閾值。 在一個(gè)實(shí)施例中,系統(tǒng)100的群組分類器170可以包括上閾值和下閾值的預(yù)編程值。在另一實(shí)施例中,可以由用戶來(lái)定義上和下閾值。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,可以由除圖5中所描繪的那些之外和/或替代圖5中所描繪的那些的手段來(lái)定義上閾值和下閾值。然后,群組分類器170將相鄰群組340的尺寸與用戶定義的上閾值和用戶定義的下閾值相比較。在一個(gè)實(shí)施例中,群組分類器170可以將每個(gè)相鄰群組340的尺寸與上閾值相比較并確定相鄰群組340是否大于上閾值群組520。如果相鄰群組340的尺寸大于上閾值,則丟棄670相鄰群組340。如果相鄰群組340不大于,則群組分類器170隨后將相鄰群組340的尺寸與下閾值530相比較。如果相鄰群組340的尺寸小于下閾值,則丟棄670 相鄰群組340。
如果相鄰群組340的尺寸大于下界閾值且小于上界閾值,則群組分類器170將相鄰群組340的已標(biāo)記紅像素與圍繞相鄰群組340的像素相比較,如在步驟MO中那樣。然后,群組分類器170確定圍繞相鄰群組340的像素是否具有通常表示眼睛的色彩,如在步驟 550中那樣。如果像素色彩是正確的,則相鄰群組340被標(biāo)記為紅眼560。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖5中所描繪的那些之外和/或替代圖5中所描繪的那些,群組分類器170可以在確定相鄰群組340是否是數(shù)字圖像110中的紅眼時(shí)考慮另外的因素和元
ο現(xiàn)在將參考圖6中的流程圖來(lái)解釋如圖1中所描繪的系統(tǒng)100的操作,圖6舉例說(shuō)明了根據(jù)本發(fā)明的實(shí)施例的用于檢測(cè)紅眼的高級(jí)方法。在一個(gè)實(shí)施例中,該方法可以由系統(tǒng)100來(lái)執(zhí)行。在圖6的實(shí)施例中,由系統(tǒng)100來(lái)生成像素圖140,如在步驟610中那樣。 然后,系統(tǒng)100掃描像素圖140并標(biāo)記每個(gè)發(fā)現(xiàn)的紅像素,如在步驟620中那樣。另外,系統(tǒng)100可以由具有毗鄰坐標(biāo)的像素產(chǎn)生相鄰群組340,如在步驟630中那樣。接下來(lái),系統(tǒng) 100隨后可以確定每個(gè)相鄰群組340是否是紅眼偽像,如在步驟640中那樣。系統(tǒng)100隨后可以產(chǎn)生表示數(shù)字圖像上的紅眼偽像的坐標(biāo)的列表,如在步驟650中那樣。如上所述,由系統(tǒng)100來(lái)訪問圖1中所示的數(shù)字圖像110??梢詫?shù)字圖像110本地地存儲(chǔ)在設(shè)備、裝置中或連接到該設(shè)備或裝置的存儲(chǔ)介質(zhì)上或通過網(wǎng)絡(luò)存儲(chǔ)在設(shè)備、裝置中或連接到該設(shè)備或裝置的存儲(chǔ)介質(zhì)上。在一個(gè)實(shí)施例中,可以通過連接到打印機(jī)的通用存儲(chǔ)設(shè)備來(lái)存儲(chǔ)和訪問數(shù)字圖像。在另一實(shí)施例中,可以將數(shù)字圖像110存儲(chǔ)在服務(wù)器上或由系統(tǒng)100通過網(wǎng)絡(luò)可以訪問的另一計(jì)算機(jī)上。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖1中所描繪的那些之外和/或替代圖1中所描繪的那些,可以將系統(tǒng)100所訪問的數(shù)字圖像110存儲(chǔ)在另外的本地或聯(lián)網(wǎng)位置。此外,如上所述,圖1中所示的數(shù)字采樣器120接收數(shù)字圖像110并產(chǎn)生下采樣數(shù)字圖像130。數(shù)字采樣器是可以降低或增加原始數(shù)字圖像110的分辨率的數(shù)字縮放器 (scaler)。在一個(gè)實(shí)施例中,數(shù)字采樣器120可以接收數(shù)字圖像110并對(duì)數(shù)字圖像110進(jìn)行向下采樣以產(chǎn)生下采樣數(shù)字圖像130。在另一實(shí)施例中,數(shù)字采樣器120可以接收數(shù)字圖像并對(duì)數(shù)字圖像進(jìn)行向上采樣且產(chǎn)生其中已識(shí)別紅眼的數(shù)字圖像180。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖1中所描繪的那些之外和/或替代圖1中所描繪的那些,數(shù)字采樣器120可以對(duì)附加圖像或數(shù)據(jù)進(jìn)行采樣。如圖1中所示,然后由像素消除器150產(chǎn)生并訪問下采樣數(shù)字圖像130的像素圖 140。在一個(gè)實(shí)施例中,像素圖140是下采樣數(shù)字圖像130上的每個(gè)像素的二維圖。在另一實(shí)施例中,像素圖140可以是三維圖像上的每個(gè)像素的三維圖。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖1中所描繪的那些之外和/或替代圖1中所描繪的那些,像素圖140可以具有不同的尺度以表示數(shù)字圖像110。圖7舉例說(shuō)明了可以獨(dú)立地或相互結(jié)合地使用所述系統(tǒng)100的各種裝置和設(shè)備、 打印機(jī)710、數(shù)字照相機(jī)720、計(jì)算機(jī)730、服務(wù)器740和存儲(chǔ)介質(zhì)750。在一個(gè)實(shí)施例中,系統(tǒng)100可以在諸如打印機(jī)710、數(shù)字照相機(jī)720或計(jì)算機(jī)系統(tǒng)730之類的單個(gè)設(shè)備或裝置上獨(dú)立地使用。在另一實(shí)施例中,可以將系統(tǒng)100與多個(gè)裝置或設(shè)備相結(jié)合地使用,諸如通過連接到打印機(jī)710的數(shù)字照相機(jī)720、連接到打印機(jī)710的計(jì)算機(jī)730或連接到計(jì)算機(jī)730 的數(shù)字照相機(jī)720,其被連接到打印機(jī)710。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖7中所描繪的那些之外和/或替代圖7中所描繪的那些,不同的裝置或設(shè)備可以獨(dú)立地或相互結(jié)合地使用該系統(tǒng)。 如圖7中所示,可以將系統(tǒng)100嵌入設(shè)備或裝置的硬件上,諸如在打印機(jī)710、數(shù)字照相機(jī)720或計(jì)算機(jī)730的非易失性存儲(chǔ)器上。另外,可以將系統(tǒng)100本地地存儲(chǔ)在計(jì)算機(jī)730或存儲(chǔ)介質(zhì)750上并被計(jì)算機(jī)730或連接到計(jì)算機(jī)730或存儲(chǔ)介質(zhì)750的其它設(shè)備或裝置訪問。此外,可以通過網(wǎng)絡(luò)740來(lái)存儲(chǔ)或訪問系統(tǒng)100。在一個(gè)實(shí)施例中,可以將網(wǎng)絡(luò)740連接到萬(wàn)維網(wǎng)且可以由一個(gè)或多個(gè)計(jì)算機(jī)730、打印機(jī)710或數(shù)字照相機(jī)720進(jìn)行訪問,其可以通過網(wǎng)絡(luò)來(lái)利用系統(tǒng)100。本發(fā)明允許較大范圍的設(shè)備和裝置包括紅眼檢測(cè)作為特征。如本領(lǐng)域的普通技術(shù)人員能夠認(rèn)識(shí)到的,除圖1中所描繪的那些之外和/或替代圖 1中所描繪的那些,可以在不同的裝置或設(shè)備中存儲(chǔ)和訪問該系統(tǒng)。
權(quán)利要求
1.一種方法,包括生成數(shù)字圖像的像素圖;掃描像素圖并標(biāo)記所發(fā)現(xiàn)的紅像素;其中,掃描像素圖的每行以得到紅像素;其中,每個(gè)已標(biāo)記紅像素的坐標(biāo)被存儲(chǔ)并與周圍的紅像素相比較;安排所發(fā)現(xiàn)的已標(biāo)記紅像素與先前發(fā)現(xiàn)的毗鄰的已標(biāo)記紅像素從而產(chǎn)生相鄰群組;確定該相鄰群組是否是紅眼偽像;以及產(chǎn)生表示數(shù)字圖像內(nèi)的紅眼偽像的坐標(biāo)的列表。
2.權(quán)利要求1的方法,還包括將每個(gè)已標(biāo)記紅像素的坐標(biāo)存儲(chǔ)在陣列中。
3.權(quán)利要求2的方法,其中,所述陣列是二維陣列。
4.權(quán)利要求3的方法,其中,所述陣列的第一層存儲(chǔ)像素圖的當(dāng)前行中的紅像素的坐標(biāo),并且其中,所述陣列的第二層存儲(chǔ)先前掃描的行中的已發(fā)現(xiàn)紅像素的先前坐標(biāo)。
5.權(quán)利要求4的方法,其中,將所述陣列的第一層上的所發(fā)現(xiàn)的已標(biāo)記紅像素的坐標(biāo)與所述陣列的第二層上的所發(fā)現(xiàn)的已標(biāo)記紅像素的坐標(biāo)相比較,以確定是否所發(fā)現(xiàn)的已標(biāo)記紅像素和先前發(fā)現(xiàn)的已標(biāo)記紅像素具有匹配的相應(yīng)y軸坐標(biāo)且先前發(fā)現(xiàn)的像素存在于先前行上。
6.權(quán)利要求1的方法,其中,可以由雙重鏈接列表來(lái)執(zhí)行像素圖上的所發(fā)現(xiàn)的已標(biāo)記紅像素的掃描和存儲(chǔ)。
7.權(quán)利要求5的方法,其中,如果所發(fā)現(xiàn)的已標(biāo)記紅像素具有與來(lái)自先前行的先前發(fā)現(xiàn)的已標(biāo)記紅像素匹配的相應(yīng)y軸坐標(biāo)且尚不存在相鄰群組,則產(chǎn)生新的相鄰群組。
8.權(quán)利要求7的方法,其中,現(xiàn)有相鄰群組被擴(kuò)展以圍繞所有毗鄰的所發(fā)現(xiàn)的已標(biāo)記紅像素和先前發(fā)現(xiàn)的已標(biāo)記紅像素。
9.一種用于確定紅眼的存在的系統(tǒng),包括 數(shù)字采樣器;其中,由所述數(shù)字采樣器對(duì)數(shù)字圖像進(jìn)行向下采樣; 像素圖;其中,所述像素圖是數(shù)字圖像的二維圖; 像素消除器; 像素分段器;其中,所述像素分段器使用二維陣列一次掃過數(shù)據(jù);以及群組分類器,其檢查紅像素的相鄰群組以確定是否存在紅眼條件。
10.權(quán)利要求9的系統(tǒng),其中,所述群組分類器放棄在用戶針對(duì)紅眼定義的邊界之外的非紅眼相鄰群組。
11.權(quán)利要求10的系統(tǒng),其中,所述群組分類器將來(lái)自相鄰群組的像素與圍繞像素群組的像素相比較,以確定相鄰群組是否是紅眼。
12.一種用于確定紅眼的存在的方法,包括掃描像素圖并采用紅色計(jì)算來(lái)測(cè)量每個(gè)像素的紅色水平; 其中,在一個(gè)或多個(gè)階段中完成紅色計(jì)算;其中,在每個(gè)階段中將每個(gè)像素的紅色水平與定義的紅色閾值相比較;標(biāo)記每個(gè)發(fā)現(xiàn)的紅像素并將相應(yīng)的坐標(biāo)存儲(chǔ)在像素圖上;安排所發(fā)現(xiàn)的已標(biāo)記紅像素與具有相應(yīng)y軸坐標(biāo)的先前發(fā)現(xiàn)的已標(biāo)記紅像素,從而產(chǎn)生相鄰群組;確定該相鄰群組是否是紅眼偽像;以及產(chǎn)生表示數(shù)字圖像內(nèi)的紅眼偽像的坐標(biāo)的列表。
13.權(quán)利要求12的方法,其中,由整數(shù)算法來(lái)執(zhí)行所述紅色計(jì)算,且所述紅色計(jì)算要求至多一次除運(yùn)算。
14.權(quán)利要求13的方法,其中,具有在紅色閾值之上的紅色水平的當(dāng)前像素被標(biāo)記為紅的。
15.權(quán)利要求12的方法,其中,所述紅色計(jì)算可以使用RGB或CieLab分量。
全文摘要
一種方法包括生成數(shù)字圖像的像素圖,掃描像素圖并標(biāo)記所發(fā)現(xiàn)的紅像素,其中,掃描像素圖的每行以得到紅像素,其中,每個(gè)已標(biāo)記紅像素的坐標(biāo)被存儲(chǔ)并與周圍的紅像素相比較,安排所發(fā)現(xiàn)的已標(biāo)記紅像素與先前發(fā)現(xiàn)的具有相應(yīng)y軸坐標(biāo)的已標(biāo)記紅像素從而產(chǎn)生相鄰群組,確定該相鄰群組是否是紅眼偽像,并產(chǎn)生表示數(shù)字圖像內(nèi)的紅眼偽像的坐標(biāo)的列表。
文檔編號(hào)G06T7/00GK102171723SQ200880131372
公開日2011年8月31日 申請(qǐng)日期2008年8月1日 優(yōu)先權(quán)日2008年8月1日
發(fā)明者J·德奧納賴恩, M·高巴茨 申請(qǐng)人:惠普開發(fā)有限公司