專利名稱:基于照相機的掃描的制作方法
基于照相機的掃描背景包括照相機的計算設備越來越普遍和可移動,諸如膝上型計算機、平板PC、數(shù)字照相機設備、移動電話、超移動PC、以及其他移動數(shù)據(jù)、消息接發(fā)和/或通信設備等。用戶可利用與計算設備相關聯(lián)的照相機來拍攝各種照片,包括捕捉演示、白板、名片、文檔、草圖、繪畫等的圖像。用戶然后能夠參考所捕捉的圖像以回憶其中包含的諸如圖表、照片、列表以及其他文本等信息。通常,用戶想要能夠?qū)⑺蹲降膱D像中的信息利用到他們自己的文檔、筆記和/或演示中。然而,傳統(tǒng)地,由照相機捕捉的圖像是靜態(tài)的,并且從靜態(tài)圖像中提取電子有用的和/或可編輯的信息可能并非是簡單的。用來生成所捕捉圖像的掃描版本的傳統(tǒng)技術包括獲取圖像的打印并且然后手動 操作掃描儀來創(chuàng)建該圖像的掃描版本。用來與所捕捉的圖像一起工作的另一傳統(tǒng)技術需要將圖像從拍攝設備轉(zhuǎn)移到臺式計算機并且然后使用臺式計算機的圖像編輯應用以進一步處理該圖像。傳統(tǒng)的用于獲取所捕捉的圖像中包含的信息的這些手動密集型的技術對于用戶來說可能是不方便并且耗時的。概述提供本概述以介紹基于照相機的掃描的簡化概念。這些簡化概念在以下詳細描述中進一步描述。本概述并不旨在標識所要求保護的主題的必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。描述了基于照相機的掃描的各實施例。在各實施例中,可使用由與設備相關聯(lián)的照相機捕捉的圖像來創(chuàng)建掃描的文檔。處理由照相機拍攝的圖像以標識圖像內(nèi)與諸如紙、名片、白板、屏幕等矩形對象相對應的四邊形(rectangular)部分??蛇x擇這些四邊形部分中的一個或多個以用來基于評分方案自動地掃描和/或在來自用戶的輸入的幫助下半自動地掃描。通過展開(un-warp)所選部分以消除透視(perspective)效應(例如,將該部分調(diào)整為矩形)以及應用各種圖像增強以提高外觀來從所選的四邊形部分中創(chuàng)建一個或多個掃描的文檔。附圖
簡述參考以下附圖描述了基于照相機的掃描的各實施例。在各附圖中,使用相同的附圖標號來指示相同的特征和組件圖I示出了可實現(xiàn)基于照相機的掃描的各實施例的設備的示例。圖2示出其中可實現(xiàn)基于照相機的掃描的各實施例的示例系統(tǒng)。圖3示出依照一個或多個實施例的基于照相機的掃描的示例方法。圖4示出依照一個或多個實施例的基于照相機的掃描的其他示例方法。圖5示出了可實現(xiàn)基于照相機的掃描的各實施例的示例設備的各組件。詳細描述基于照相機的掃描的各實施例提供給適當配置的計算設備用戶使用由與設備相關聯(lián)的照相機拍攝的圖像來掃描文檔、演示以及其他目標的技術。基于照相機的掃描可校正在諸如紙、名片、白板、屏幕等矩形對象上的透視效應。
例如,用戶可以將便攜式設備的照相機對準目標并且使用按鈕、觸摸或其他合適輸入來發(fā)起對該目標的圖像的捕捉。當用戶發(fā)起捕捉時,進行捕捉操作以捕捉目標的圖像。圖像捕捉可以發(fā)起對所捕捉的圖像的各種處理以從捕捉的圖像創(chuàng)建一個或多個掃描文檔。在一實施例中,可發(fā)起觸摸屏上的觸摸輸入或觸摸事件以同時指示感興趣的區(qū)域以及應該進行圖像捕捉。觸摸輸入的位置可用于后續(xù)的處理步驟以指導評分函數(shù)。這一處理可包括標識所捕捉的圖像內(nèi)將被認為用于掃描的潛在部分的四邊形。設備可被配置為基于評分方案自動地和/或在來自用戶的輸入的幫助下半自動地選擇所標識的四邊形中的一個或多個。然后可通過展開所選的四邊形以消除透視效應(例如,將四邊形調(diào)整為矩形)以及應用各種圖像增強以改進外觀來創(chuàng)建一個或多個掃描的文檔。盡管所描述的基于照相機的掃描的系統(tǒng)和方法的特征和概念可以在任何數(shù)量的不同環(huán)境、系統(tǒng)、和/或各種配置中實現(xiàn),但基于照相機的掃描的各實施例在以下示例系統(tǒng)和環(huán)境的上下文中描述。圖I示出了可實現(xiàn)基于照相機的掃描的各實施例的計算設備102的示例100。計算設備102是包括參考圖2描述的示例便攜式設備的各種類型設備的示例,并且還可用任 何數(shù)量和組合的如參考圖4所示的示例設備所描述的不同組件來實現(xiàn)。計算設備102包括集成顯示屏104,用以顯示用戶界面、用戶界面元素和特征、用戶可選擇控件、各種可顯示對象,等等。計算設備102還包括照相機106,用以拍攝數(shù)字圖像。在所述示例中,在計算機設備102的與顯示屏104相對的那一面示出照相機106。計算設備102還包括至少一個輸入驅(qū)動器108,用以處理來自用戶的用來操作計算設備102的各種輸入。在至少某些實施例中,顯示屏104是觸摸屏,并且輸入驅(qū)動器108可操作以檢測和處理各種觸摸輸入和/或觸摸事件。在一實施例中,可開始觸摸屏104上的觸摸輸入或觸摸事件以同時指示感興趣的區(qū)域以及開始圖像捕捉。圖像可在顯示屏上被顯示為要捕捉的圖像的預覽,并且在屏幕上特定位置處的觸摸事件指示應該捕捉圖像。此夕卜,特定位置被標識為后續(xù)處理算法中的評分函數(shù)所感興趣的。因此,可利用觸摸輸入來選擇圖像的部分以及使拍攝照片的照相機開始捕捉圖像。計算設備102還包括捕捉應用110,用以發(fā)起顯示用戶界面112以及各種用戶界面元素、特征和控件,以便于通過照相機106捕捉圖像和處理圖像。此外,捕捉應用110表示計算設備102的用于實現(xiàn)此處所述的基于照相機的掃描技術的功能。示例用戶界面112被示出為具有取景器114以及掃描圖像顯示116的分屏界面。取景器114可以呈現(xiàn)來自照相機106的當前圖像,以及在照片被拍攝時切換為呈現(xiàn)所捕捉的圖像。此外,用戶還能夠通過與取景器114的交互來修改和選擇所捕捉的圖像的部分。掃描圖像顯示116可以呈現(xiàn)由拍攝應用110處理的所捕捉的圖像的一個或多個部分以產(chǎn)生掃描文檔。分屏使得能夠同時顯示取景器114中的所捕捉的圖像以及掃描圖像顯示116中從所捕捉的圖像產(chǎn)生的掃描文檔。采用這一方式,用戶可以同時查看所捕捉的圖像以及該圖像的掃描部分,并且可以使用用戶界面112來直觀地進行調(diào)整,諸如修改所選部分的邊界或者選擇不同的部分等。在基于照相機的掃描的一實施例中,計算設備102的用戶可以通過拍攝目標118的照片來發(fā)起基于照相機的掃描。該照片的目標118可以包括諸如文檔、紙、名片、照片、白板等一個或多個矩形對象。在圖I的示例中,目標118顯示為正在用于商業(yè)演示的顯示屏。在拍攝照片以發(fā)起基于照相機的掃描時,捕捉應用110捕捉目標118的圖像并且可以在用戶界面112的取景器114中輸出圖像。捕捉應用110被實現(xiàn)為檢測所捕捉的圖像中與矩形對象對應的部分。特別地,拍攝應用110可以被配置為標識所捕捉的圖像內(nèi)將被認為用于掃描的潛在區(qū)域的四邊形??墒褂眠m合尋找圖像和其他文檔內(nèi)任意形狀的各種特征提取技術來標識圖像內(nèi)的四邊形。在至少若干實施例中,捕捉應用110包括或者以其他方式利用可操作以基于諸如亮度的急劇改變之類的視覺差來檢測邊的邊檢測器。一個適合于邊檢測的示例算法是Canny算法。當已經(jīng)標識出邊時,可將邊結(jié)合到連接的線條中以形成四邊形。例如,可以通過邊檢測標識出頂點(角)并且然后連接頂點以形成四邊形。例如,這可以涉及應用線性霍夫變換來校正檢測到的邊中的缺陷以及導出(derive)與邊對應的線條。因此,可以使用檢測到的邊和線條來導出一組潛在的四邊形,其中線條是從沿著特定方向的類似有向邊來檢測并且然后被組合以形成四邊形。捕捉應用110可以導致指示符120在用戶界面112中顯示以表示在所捕捉的圖像內(nèi)檢測和/或選擇的四邊形。例如,圖I的取景器114中的所捕捉的圖像包括被配置為頂點處的點以及沿著邊顯示的虛線的指示符120。還可考慮其他指示符120,諸如活動的線條、顏色變化、旗幟等。可以通過取景器來呈現(xiàn)潛在的四邊形以使得用戶能夠選擇一個或多個四邊形用于掃描。在一實現(xiàn)中,捕捉應用110可以被配置為基于評分方案自動地選擇一個或多個潛在的四邊形來掃描。該評分機制可以基于各種準則來對潛在的四邊形評分,這些準則包括諸如大小、位置、對諸如文本和臉等內(nèi)容的識別等??梢宰詣拥剡x擇最高評分的四邊形。在另一示例中,任何超過閾值評分的四邊形可以被選擇。捕捉應用110還可以被配置為在自動選擇不能找到合適的四邊形和/或在用戶發(fā)起半自動選擇時實現(xiàn)對四邊形的半自動選擇。為了這么做,可使用上述的指示符120以在用戶界面112中呈現(xiàn)自動選擇的四邊形、角、和/或線條。然后用戶提供輸入以修改自動選擇的四邊形、消除四邊形、定義自定義四邊形,等等。在一實現(xiàn)中,指示符120可由用戶選擇以修改四邊形,諸如通過拖拽角以改變角的位置。在另一示例中,用戶可通過與用戶界面112的交互通過選擇一個角來定義自定義四邊形。捕捉應用110可以被配置為基于用戶對一個角的選擇來自動地導出對應的四邊形。用戶還可操作用戶界面112的選擇和拖拽工具來標識自定義四邊形的區(qū)域。當計算設備102是可觸摸的時,用戶可直接在顯示屏104上觸摸和拖拽以修改和定義四邊形。還可將其他輸入設備用于對四邊形的半自動選擇,包括例如指示筆、鼠標、方向鍵、和/或其他合適的輸入設備。然后可通過展開所選的四邊形以消除透視效應(例如,將四邊形調(diào)整為矩形)以及應用各種圖像增強以改進外觀來創(chuàng)建一個或多個掃描的文檔。特別地,為了執(zhí)行展開,捕捉應用110可被實現(xiàn)為檢測和校正由于所捕捉的圖像的透視而引起的失真。例如,捕捉應用110可以基于所選四邊形的角度和比率來確定透視。捕捉應用110可以剪裁所捕捉的圖 像以對應于所選四邊形。拍攝應用110然后可以旋轉(zhuǎn)、調(diào)整至少某些部分的大小,并且以其他方式校正剪裁的圖像以解決透視失真以及產(chǎn)生被調(diào)整為矩形的未彎曲圖像。捕捉應用110還可以使用各種圖像增強來改進未彎曲圖像的外觀。這些圖像增強的示例包括例如顏色增強、對亮度和陰影的校正、以及背景去除。圖像增強還可包括將光學字符識別(OCR)應用于未彎曲的圖像以標識文本和產(chǎn)生具有可編輯文本部分的掃描文檔??紤]圖I所示的商業(yè)演示的特定示例。商業(yè)演示在顯示屏上顯示,并且包括文本和人的示圖。當用戶拍攝商業(yè)演示的照片時,圖像被捕捉并且可以在取景器114中顯示。注意到由于拍攝照片的角度,該圖像顯示為傾斜的。最初,捕捉應用110可以使用此處所述的基于照相機的掃描技術來標識屏幕邊界。因此,使用指示符120在取景器114中標識與屏幕對應的四邊形。此外,捕捉應用110可以通過掃描圖像顯示116來初始地呈現(xiàn)包括文本和示圖的屏幕的掃描版本。然而,在所述示例中,用戶已經(jīng)選擇了自定義四邊形以選擇沒有文本的示圖。例如,用戶可觸摸計算設備102的顯示屏104以選擇角和/或拖拽環(huán)繞示圖的選擇框。響應于這一選擇,通過展開以消除投視效應(例如,傾斜)以及使用增強來掃描所選的部分(例如,示圖)。生成的掃描示圖在掃描圖像顯示116中顯示,并且使用用戶界面112的分屏能夠與取景器114中的所捕捉的商業(yè)演示同時呈現(xiàn)。用戶可以以各種方式來利用掃描的示 圖,諸如通過添加注解、與同事分享、在網(wǎng)站或博客上發(fā)布等。圖2示出其中可實現(xiàn)基于照相機的掃描的各實施例的示例系統(tǒng)200。示例系統(tǒng)200包括便攜式設備202 (例如,有線和/或無線設備),該便攜式設備可以是以下各項中的任一個或組合移動個人計算機204、個人數(shù)字助理(PDA)、可以被實現(xiàn)用于數(shù)據(jù)、消息收發(fā)和/或語音通信的移動電話206 (例如,蜂窩、VoIP、WiFi等等)、便攜式計算機設備208 (例如,膝上型計算機、具有觸摸屏的膝上型計算機等等)、媒體設備210 (例如,個人媒體播放器、便攜式媒體播放器等等)、游戲設備、應用設備、電子設備、和/或任何其他類型的能夠接收、顯示和/或通信音頻、視頻和/或圖像中的任一形式的數(shù)據(jù)來的便攜式設備。各種便攜式設備中的每一個可以包括集成顯示和/或集成觸摸屏或其他顯示,以及用戶可以經(jīng)由其來輸入數(shù)據(jù)和/或選擇的可選輸入控件。例如,移動個人計算機204包括其上可以顯示用戶界面的集成觸摸屏212,該用戶界面包括可顯示對象和/或用戶界面元素216,諸如任何類型的圖像、圖形、文本、可選按鈕、用戶可選控件、菜單選擇、地圖元件和/或任何其他類型的用戶界面可顯示特征或項目。依照此處所述的基于照相機的掃描的一個或多個實施例,用戶界面214還可以通過分屏顯示捕捉的和掃描的圖像。此處所述的各種便攜式設備中的任一個可用一個或多個傳感器、處理器、通信組件、數(shù)據(jù)輸入、存儲器組件、存儲介質(zhì)、處理和控制電路和/或內(nèi)容呈現(xiàn)系統(tǒng)來實現(xiàn)。便攜式設備中的任一個也可以被實現(xiàn)為經(jīng)由通信網(wǎng)絡來通信,該通信網(wǎng)絡可包括任何類型的數(shù)據(jù)網(wǎng)絡、語音網(wǎng)絡、廣播網(wǎng)絡、基于IP的網(wǎng)絡和/或便于數(shù)據(jù)、消息收發(fā)和/或語音通信的無線網(wǎng)絡。便攜式設備還可以用參考圖4所示的示例設備來描述的任何數(shù)量的不同組件及其組合來實現(xiàn)。便攜式設備還可與用戶(即,人)和/或操作該設備的實體相關聯(lián),從而使得便攜式設備描述包括用戶、軟件、和/或設備的組合的邏輯設備。在這一不例中,便攜式設備202包括一個或多個處理器218 (例如,微處理器、控制器等中的任一個)、用于數(shù)據(jù)、消息接發(fā)和/或語音通信的通信接口 220、以及接收媒體內(nèi)容224的數(shù)據(jù)輸入222。媒體內(nèi)容(例如,包括記錄的媒體內(nèi)容)可以包括從諸如消息、電視媒體內(nèi)容、音樂、視頻剪輯、數(shù)據(jù)訂閱源、交互式游戲、基于網(wǎng)絡的應用以及任何其他內(nèi)容等任何媒體內(nèi)容或數(shù)據(jù)源處接收的任何類型的音頻、視頻和/或圖像數(shù)據(jù)。用設備管理器226來實現(xiàn)便攜式設備202,該設備管理器226包括控件應用、軟件應用、信號處理和控制模塊、特定設備本地的代碼、和/或特定設備的硬件抽象層中的任一個或其組合。便攜式設備202包括可合并諸如能夠由處理器218處理或以其他方式執(zhí)行的捕捉應用230之類的組件的各種軟件和/或媒體應用228。媒體應用程序228可以包括音樂和/或視頻播放器、圖像應用、Web瀏覽器、電子郵件應用、消息收發(fā)應用、數(shù)字照片應用,等等。便攜式設備202包括呈現(xiàn)系統(tǒng)232,用以從捕捉應用230呈現(xiàn)用戶界面,以生成任何便攜式設備上的顯示。呈現(xiàn)系統(tǒng)232還被實現(xiàn)為接收并呈現(xiàn)從任何媒體內(nèi)容和/或數(shù)據(jù)源接收的任何形式的音頻、視頻和/或圖像數(shù)據(jù)。便攜式設備202還包括照相機234以及能夠合并或者以其他方式利用觸摸屏212的觸摸屏驅(qū)動器的輸入驅(qū)動器236。輸入驅(qū)動器236可以被配置為檢測和處理姿勢、輸入和/或動作的各種輸入和/或可確定表示,以操作包括捕捉應用230的操作的便攜式設備202的功能來實現(xiàn)基于照相機的掃描。參考圖I所示的拍攝應用110和輸入驅(qū)動器108,以及參考此處所述的基于照相機的掃描的各實施例,描述了捕捉應用230和輸入驅(qū)動器236的各實現(xiàn)。 依照基于照相機的掃描的一個或多個實施例,參考相應的圖3和4描述了示例方法300和400。一般而言,此處所描述的任何功能、方法、過程、組件以及模塊都可使用硬件、軟件、固件、固定邏輯電路、手動處理或其任何組合來實現(xiàn)。軟件實現(xiàn)表示當由計算機處理器執(zhí)行時執(zhí)行指定任務的程序代碼??梢栽谟嬎銠C可執(zhí)行指令的一般上下文中描述示例方法,這些指令可包括軟件、應用程序、例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、過程、模塊、功能等等。這些方法還可在由通過通信網(wǎng)絡鏈接的處理設備執(zhí)行的分布式計算環(huán)境中實現(xiàn)。在分布式計算環(huán)境中,計算機可執(zhí)行指令可同時位于本地和遠程計算機存儲介質(zhì)和/或設備中。此外,此處所述的特征是平臺無關的,并且可在具有各種處理器的各種計算平臺上實現(xiàn)。圖3示出基于照相機的掃描的示例方法300。描述方法的次序并不旨在解釋為限制,并且任何數(shù)量的所述方法框都可以按任何次序組合以實現(xiàn)本方法或?qū)崿F(xiàn)替換方法。在框302處,檢測到發(fā)起對圖像的捕捉的輸入。例如,計算設備102處的輸入驅(qū)動器108檢測到拍攝目標118的照片的用戶選擇。目標118可以包括對于基于照相機的掃描而言可檢測的一個或多個矩形對象。捕捉可以由用戶操縱觸摸屏按鈕、按鍵敲擊、計算設備102的專用快門按鈕操作、或另一合適的輸入來發(fā)起。在框304處,響應于輸入捕捉圖像。例如,響應于框302處的輸入,計算設備102處的捕捉應用110可以使用照相機106來捕捉目標118的圖像??梢酝ㄟ^計算設備102的用戶界面112來呈現(xiàn)所捕捉的圖像。在框306處,基于對所捕捉的圖像中的四邊形的檢測來掃描所捕捉的圖像的一個或多個部分。在框308處,將增強應用于一個或多個掃描的部分。可以使用各種技術在所捕捉的圖像中檢測四邊形。例如,計算設備102處的拍攝應用110可以使用關于圖I描述的自動和半自動技術中的任一個或兩者來標識四邊形。在另一示例中,可以使用手動技術,其中可通過計算設備102呈現(xiàn)所捕捉的圖像給用戶以供手動選擇四邊形。在這一示例中,使得通過捕捉應用110能夠自動探測四邊形的功能可能被禁用、可能不被包括、或者可能因為其他原因而不可用??紤]了用于改進一個或多個掃描部分的外觀的各種增強。以下參考圖4所示的示例方法400提供了有關檢測四邊形和增強掃描圖像的技術的更多細節(jié)。
在框310處,輸出與一個或多個部分對應的掃描文檔。例如,計算設備102處的捕捉應用110可以導致掃描文檔呈現(xiàn)在用戶界面112的掃描文檔顯示中。用戶然后能夠諸如通過保存文檔、添加注解、將文檔發(fā)送給一個或多個接收者等來處理掃描文檔。圖4示出基于照相機的掃描的示例方法400。特別地,圖4表示適合掃描通過計算設備102的照相機106捕捉的圖像的示例算法。描述方法的次序并不旨在解釋為限制,并且任何數(shù)量的所述方法框都可以按任何次序組合以實現(xiàn)本方法或?qū)崿F(xiàn)替換方法。在框402處,預處理所捕捉的圖像。例如,計算設備102的拍攝應用110可以以各種方式預處理所捕捉的圖像,以準備圖像來進行基于照相機的掃描。作為示例,預處理可以包括應用圖像濾波器、增強對比、調(diào)節(jié)亮度、縮減比例、GS轉(zhuǎn)換(GS conversion)、中值濾波等等。在一實施例中,預處理包括對圖像進行縮減比例、對比度增強以及噪聲濾波中的一個或多個??梢赃M行縮減比例以減小圖像的分辨率以及圖像所需處理的像素數(shù)。隨著圖像分辨率的增大,將消耗更多的計算資源以處理圖像并且從邊檢測中產(chǎn)生更多的假(例如,不 需要的)邊。因此,縮減比例可以加速處理并且實現(xiàn)改進的邊檢測。對比度增強可用于將圖像中最亮的色調(diào)設為白色以及最暗的色調(diào)設為黑色。這還可以改進對通過找到對比度和/或亮度中的銳利差異的檢測算法的邊和線條的檢測。噪聲濾波包括應用一個或多個濾波器以消除圖像噪聲。諸如高斯模糊之類的某些噪聲濾波器可以降級(例如,柔化)圖像的邊,并且使得檢測邊變得困難。因此,諸如雙邊和/或中值濾波等保持邊緣的噪聲濾波技術可以與基于照相機的掃描的技術聯(lián)用以防止邊降級。在預處理之后,方法400可以進行以執(zhí)行對所捕捉的圖像中的四邊形的檢測。在框404處,檢測所捕捉圖像中的邊。檢測到的邊可以與圖像內(nèi)的矩形對象的邊框?qū)?,諸如名片的邊緣、油畫框、顯示屏的邊緣等等??梢杂萌魏魏线m的方式來檢測邊。例如,可實現(xiàn)計算設備102的捕捉應用110以運用Canny算法來基于對比度的急劇改變檢測邊。Canny算法可以利用定義了足以檢測邊的對比度差異量的可配置閾值。在一實施例中,Canny算法使用的閾值可以是自適應的。例如,可以增加具有高的邊的實例(例如,地毯、桌子、或其他紋理表面)的圖像區(qū)域的閾值。這可以降低在這些區(qū)域中檢測到的假邊的數(shù)量。類似地,可以降低具有相對較低的邊的實例的圖像區(qū)域的閾值,以增加檢測具有相對較小的對比度差異的邊的機會。在框406處,確定與檢測到的邊對應的線條。捕捉應用110可以利用檢測到的邊來構(gòu)造對應的線條。在一實現(xiàn)中,通過應用線性霍夫變換來確定線條??梢詷俗R線條以校正在邊檢測中發(fā)生的缺陷,諸如不完整的邊、波浪形邊等。這一步驟還可以包括根據(jù)評分方案來對線條評分并且基于評分準則選擇性地丟棄線條。例如,可以丟棄或忽略孤立線條、不確定的線條、以及被確定為不形成合適四邊形的線條??紤]了各種評分和選擇線條的技術。在一實施例中,可以將評分提煉應用于由應用霍夫變換確定的可配置數(shù)量的高評分線條。特別地,通過掃描線條周圍的區(qū)域來重新評分和重新分類高評分線條中的每一條,以找到具有相似定向的邊。特定線條的新評分與在掃描區(qū)域中找到的具有相似定向的邊的數(shù)目成正比。在一實施例中,可以基于線條的定向來調(diào)節(jié)針對特定線條掃描的區(qū)域。例如,對于幾乎水平的線條,掃描區(qū)域可以包括在該線條的像素上面/下面的可配置數(shù)量的像素。類似地,對于幾乎垂直的線條,掃描區(qū)域可以包括在該線條的像素左側(cè)/右側(cè)的可配置數(shù)量的像素。在框408處,使用檢測到的邊和線條來導出可能的四邊形。特別地,計算設備102的捕捉應用110可以利用在框404處檢測到的邊以及在框406處確定的線條來構(gòu)造可能的四邊形。換句話說,可以組合各線條以形成四邊形,其中線條從沿著特定方向的相似定向的邊中檢測??梢杂酶鞣N方式來組合線條以形成四邊形。在一示例中,可以首先處理檢測到的線條以基于尋找形成四邊形相對側(cè)的線條來找到可能的四邊形??梢栽俅翁幚頇z測到的線條以基于形成四邊形角的線條找到可能的四邊形。與某些以前的技術不同,角可以對應于不規(guī)則或傾斜的四邊形,也可以對應于形成幾乎是直角的角。在框410處,選擇四邊形以用于掃描。例如,使用在框408中構(gòu)造的一組可能的四邊形,捕捉應用110可以被配置為根據(jù)評分準則自動地選擇四邊形。這一步驟可以涉及基于評分方案來標識有意義的線條組合以及丟棄被認為是沒有意義的組合。該評分方案可以計及各種準則,包括圖像的位置、相對大小、四邊形內(nèi)和外部包含的內(nèi)容等等。捕捉應用110可以使用評分準則來從可能的四邊形中選擇可能的四邊形。換句話 說,捕捉應用110可以使用該準則來評分可能的四邊形,以就所捕捉的圖像的預期目標作出可能或近似的最佳猜測。例如,所捕捉的圖像的中心附近的大四邊形可能是預期目標并且可以由捕捉應用110基于評分來選擇。與之相對的,位置遠離中心并且具有較小或沒有顏色變化的小四邊形可能不是有意義的四邊形并且可以被丟棄??梢允褂酶鞣N啟發(fā)式算法以便找到最優(yōu)四邊形。在一實施例中,評分方案可以計算特定四邊形的初始評分,并且然后任選地修改該初始評分以計及(account for)可增加或降低初始評分的各四邊形特征。例如,可以基于四邊形的相對大小來計算初始評分。一種可以基于相對大小計算初始評分的方法是由圖像區(qū)域劃分四邊形區(qū)域以及對該值取平方根。任選地,可以考慮各種四邊形特征以修改該初始評分。例如,可以用增加評分的增強和/或降低評分的懲罰來修改該初始評分。在一個特定示例中,可以用各種懲罰因子來乘以初始評分或者以其他方式調(diào)節(jié)初始評分來計及“不需要的”四邊形性質(zhì)。例如,懲罰因子可以被配置為在0到I范圍內(nèi)的乘子??紤]各種不同的懲罰以及對應的懲罰因子。例如,可以在四邊形角的兩條線延伸超出該角時應用懲罰。該懲罰因子可以與線條延伸超出該角的遠近程度成正比。另一懲罰可以基于在四邊形角的兩個線條之間形成的角度。在這一例子中懲罰因子可以與該角與直角的差成正比。可以對延伸超出圖像邊界的四邊形、相對于圖像邊界有明顯傾斜的四邊形、和/或位置遠離圖像中心或者以其方式?jīng)]有對齊的四邊形評估其他示例懲罰。各種增強因素還可以乘以四邊形的初始評分或者以其他方式調(diào)節(jié)四邊形的初始評分,以計及“所需的”四邊形特征。例如,示例增強可以應用于位于圖像中心附近、與圖像基本對齊、良好形成的四邊形等。注意到此處所述的增強和懲罰可以單獨和/或結(jié)合使用以實現(xiàn)選擇四邊形的評分方案。在框412處,關于對四邊形的選擇是否成功作出判定。例如,捕捉應用110可以確定何時已選擇合適的四邊形。在某些情況下,框404-410處對四邊形自動選擇不能檢測到合適的四邊形。例如,捕捉應用110可以確定沒有可能的四邊形滿足定義的評分閾值。在這一情況下,選擇被確定為不成功的并且可發(fā)起半自動校正。
在另一示例中,可以通過計算設備102的用戶界面112呈現(xiàn)在框410處自動選擇的一個或多個四邊形以供用戶進行批準。用戶然后可提供批準或不批準所呈現(xiàn)的四邊形的輸入。在這一示例中,可以根據(jù)由用戶提供的輸入來在作出框412處的判定。如果用戶批準,則選擇被認為是成功的。如果用戶不批準,則選擇被確定為不成功的并且可發(fā)起半自動校正。在上述場景中如果選擇不成功,則在框414處,基于用戶輸入來使用半自動校正以選擇四邊形。半自動校正使得用戶能夠提供輸入以修改可由捕捉應用110做出的自動選擇。例如,可以通過計算設備102的用戶界面112呈現(xiàn)在框410處自動選擇的一個或多個四邊形。該呈現(xiàn)可以利用指示符120來示出四邊形邊界。在一實現(xiàn)中,至少某些指示符120是可以由觸摸或其他合適輸入選擇的以修改對應的四邊形。捕捉應用110可以檢測與指示符120的交互并且導致對四邊形的對應的修改。例如,用戶可與指示符120交互以做出修改,諸如通過選擇和拖拽角點(corner point)(例如,頂點)來修改四邊形尺寸、拖拽以移動四邊形至不同的位置、旋轉(zhuǎn)四邊形等。附加地或替代地,用戶可通過與用戶界面112的交互通過選擇一個或多個角來定 義自定義四邊形。再次地,此交互可以再次通過觸摸或其他合適的輸入。捕捉應用110可以被配置為響應于用戶使用此處所述的技術選擇一個角的交互,自動地導出對應的四邊形。如果用戶仍對四邊形不滿意,則用戶可以選擇另一個角并且捕捉應用110可以使用兩個所選的角來導出對應的四邊形。該過程可以由對第三個角的選擇來重復第三次。如果用戶仍不滿意并且選擇了第四個角,則捕捉應用110可以輸出其頂點與四個選擇的角相對應的四邊形。采用這一方式,用戶能夠提供連續(xù)的提示以調(diào)節(jié)由捕捉應用110自動選擇的四邊形。用戶還可操作用戶界面112的選擇和拖拽工具來標識自定義四邊形的區(qū)域。例如,在圖I中,描繪了用戶的用以在用戶界面112的取景器114中選擇人的示圖的交互。在半自動校正后,方法400進行到框416。在框416處,進行處理以展開所選四邊形的透視。這一步驟可以在步驟412處確定四邊形選擇成功時以及在框414處的半自動校正后進行。一般而言,執(zhí)行展開以產(chǎn)生與被調(diào)整為矩形的所選四邊形對應的未彎曲的圖像。例如,捕捉應用110可以基于所選四邊形的角度和比率來確定透視。捕捉應用110還可以剪裁所捕捉的圖像以對應于所選四邊形。此外,捕捉應用110可以通過旋轉(zhuǎn)、調(diào)整部分的大小、以及以其他方式進行校正來校正透視,以解決透視失真。在框418處,將視覺增強應用于未彎曲的圖像。如以上結(jié)合前面的附圖所述,捕捉應用110可以將各種增強應用于未彎曲圖像。圖5示出了可被實現(xiàn)為參考圖I和2來描述的任何類型的便攜式和/或計算機設備以實現(xiàn)基于照相機的掃描的各實施例的示例設備500的各種組件。設備500包括實現(xiàn)設備數(shù)據(jù)504(例如,所接收的數(shù)據(jù)、正被接收的數(shù)據(jù)、排定用于廣播的數(shù)據(jù)、數(shù)據(jù)的數(shù)據(jù)包等等)的有線和/或無線通信的通信設備502。設備數(shù)據(jù)504或其它設備內(nèi)容可以包括設備的配置設置、存儲在設備上的媒體內(nèi)容和/或與設備用戶相關聯(lián)的信息。存儲在設備500上的媒體內(nèi)容可以包括任何類型的音頻、視頻和/或圖像數(shù)據(jù)。設備500包括經(jīng)由其可接收任何類型的數(shù)據(jù)、媒體內(nèi)容、和/或輸入的一個或多個數(shù)據(jù)輸入506,諸如用戶可選輸入、消息、音樂、電視機媒體內(nèi)容、記錄的視頻內(nèi)容、以及從任何內(nèi)容和/或數(shù)據(jù)源接收的任何其它類型的音頻、視頻和/或圖像數(shù)據(jù)。設備500還包括通信接口 508,其可被實現(xiàn)為串行和/或并行接口、無線接口、任何類型的網(wǎng)絡接口、調(diào)制解調(diào)器、和任何其他類型的通信接口中的任一個或多個。通信接口508提供設備500和通信網(wǎng)絡之間的連接和/或通信鏈路,其它電子、計算和通信設備通過其來與設備500傳遞數(shù)據(jù)。設備500包括一個或多個處理器510 (例如,微處理器、控制器等中的任一個),處理器處理各種計算機可執(zhí)行指令來控制設備500的操作并實現(xiàn)基于照相機的掃描的各實施例。除此之外或作為替代,設備500可用硬件、固件、或結(jié)合在512處概括標識的處理和控制電路來實現(xiàn)的固定邏輯電路中的任何一個或組合來實現(xiàn)。雖然未示出,但是設備500可包括耦合設備內(nèi)的各種組件的系統(tǒng)總線或數(shù)據(jù)傳輸系統(tǒng)。系統(tǒng)總線可包括不同總線結(jié)構(gòu) 中的任一個或組合,諸如存儲器總線或存儲器控制器、外圍總線、通用串行總線、和/或利用各種總線體系結(jié)構(gòu)中的任一種的處理器或局部總線。設備500還包括計算機可讀介質(zhì)514,諸如一個或多個存儲器組件,存儲器組件的示例包括隨機存取存儲器(RAM)、非易失性存儲器(例如,只讀存儲器(ROM)、閃存、EPR0M、EEPROM等中的任一個或多個)、以及盤存儲設備。盤存儲設備可被實現(xiàn)為任何類型的磁性或光學存儲設備,如硬盤驅(qū)動器、可記錄和/或可重寫緊致盤(CD)、任何類型的數(shù)字多功能盤(DVD)等等。設備500還可包括大容量存儲介質(zhì)設備516。計算機可讀介質(zhì)514提供數(shù)據(jù)存儲機制以存儲設備數(shù)據(jù)504,以及各種設備應用程序518和與設備500的各操作方面相關的任何其它類型的信息和/或數(shù)據(jù)。例如,操作系統(tǒng)520可用計算機可讀介質(zhì)514作為計算機應用來維護并且在處理器510上執(zhí)行。設備應用518可包括設備管理器(例如,控制應用、軟件應用、信號處理和控制模塊、特定設備本地的代碼、特定設備的硬件抽象層等)。設備應用518還包括實現(xiàn)基于照相機的掃描的各實施例的任何系統(tǒng)組件或模塊。在本示例中,設備應用518包括被示為軟件模塊和/或計算機應用的捕捉應用522和輸入驅(qū)動器524。另選地或另外地,捕捉應用522和輸入模塊524可被實現(xiàn)為硬件、軟件、固件或其任意組合。設備500還包括向音頻系統(tǒng)528提供音頻數(shù)據(jù)和/或向顯示系統(tǒng)530提供視頻數(shù)據(jù)的音頻和/或視頻輸入-輸出系統(tǒng)526。音頻系統(tǒng)528和/或顯示系統(tǒng)530可包括處理、顯示、和/或以其它方式呈現(xiàn)音頻、視頻和圖像數(shù)據(jù)的任何設備。這些設備可至少包括用于實現(xiàn)捕捉視頻和圖像的照相機532。視頻信號和音頻信號可以通過RF(射頻)鏈路、S-video (S-視頻)鏈路、復合視頻鏈路、分量視頻鏈路、DVI (數(shù)字視頻接口)、模擬音頻連接,或其它類似的通信鏈路,從設備500傳遞到音頻設備和/或顯示設備。在實施例中,音頻系統(tǒng)528和/或顯示系統(tǒng)530被實現(xiàn)為設備500的外部組件?;蛘?,音頻系統(tǒng)528和/或顯示系統(tǒng)530被實現(xiàn)為示例設備500的集成組件。類似地,照相機532可被實現(xiàn)為設備500的外部或內(nèi)部組件。盡管已經(jīng)用結(jié)構(gòu)特征和/或方法專用的語言描述了基于照相機的掃描的各實施例,但是應該理解所附權(quán)利要求的主題不必限于所述的具體特征或方法。相反,這些具體特征和方法是作為基于照相機的掃描的示例實現(xiàn)來公開的。
權(quán)利要求
1.一種由計算設備實現(xiàn)的方法,所述方法包括 響應于發(fā)起對圖像的基于照相機的掃描,捕捉圖像; 在所捕捉的圖像中自動選擇一個或多個四邊形對象以進行掃描;以及從所述圖像的部分創(chuàng)建與所選的一個或多個四邊形對象相對應的一個或多個掃描文檔,包括為所述部分校正所捕捉的圖像中的一個或多個四邊形對象的透視失真。
2.如權(quán)利要求I所述的方法,其特征在于,所述自動選擇一個或多個四邊形對象還包括 基于視差檢測所捕捉的圖像中的邊;以及 確定所述一個或多個四邊形對象為所檢測的邊的組合。
3.如權(quán)利要求2所述的方法,其特征在于,還包括 使用Canny算法檢測所述邊以及使用霍夫變換來從所標識的邊形成潛在的四邊形;以及 將評分方案應用于所述潛在的四邊形以確定一個或多個四邊形對象。
4.如權(quán)利要求I所述的方法,其特征在于,還包括展示具有用于顯示所捕捉的圖像的部分以及用于并發(fā)地顯示從所捕捉的圖像創(chuàng)建的至少一個掃描文檔的另一部分的用戶界面。
5.如權(quán)利要求4所述的方法,其特征在于,所述用戶界面被配置為 呈現(xiàn)所捕捉的圖像內(nèi)用以標識所選的一個或多個四邊形對象的指示符; 使得用戶能夠與所述指示符交互以做出對一個或多個四邊形對象的自動選擇的用戶修改;以及 響應于用戶與所述指示符的交互,更新和顯示根據(jù)所述用戶修改創(chuàng)建的至少一個掃描文檔。
6.如權(quán)利要求I所述的方法,其特征在于,還包括 確定對一個或多個四邊形對象的自動選擇是否成功; 如果自動選擇成功,則使用自動選擇來執(zhí)行所述創(chuàng)建一個或多個掃描文檔;以及 如果自動選擇不成功 則使用基于用戶輸入的半自動校正來做出對自動選擇的用戶修改;以及使用通過半自動校正選擇的所捕捉的圖像中的四邊形對象來執(zhí)行所述創(chuàng)建一個或多個掃描文檔。
7.如權(quán)利要求6所述的方法,其特征在于,使用半自動校正包括 接收選擇所捕捉的圖像中的位置的用戶輸入;以及 基于所述用戶輸入自動地產(chǎn)生對應的四邊形,所選位置為對應四邊形的一個角。
8.如權(quán)利要求I所述的方法,其特征在于,還包括應用一個或多個視覺增強以改進一個或多個掃描文檔的外觀。
9.如權(quán)利要求I所述的方法,其特征在于,為所述部分校正透視失真包括將所捕捉的圖像的所述部分的每一個調(diào)整為與矩形相對應。
10.一種便攜式計算設備,包括 照相機; 一耦合至存儲器的個或多個處理器;以及捕捉應用,所述捕捉應用被存儲在存儲器中,并且可經(jīng)由一個或多個處理器執(zhí)行以導致所述便攜式計算設備至少通過以下方式執(zhí)行對經(jīng)由照相機捕捉的圖像的基于照相機的掃描: 從所捕捉的圖像中選擇至少一個四邊形以進行掃描,所述至少一個四邊形與所捕捉的圖像中的矩形對象相對應,所述選擇包括 如果自動選擇不成功,則發(fā)起半自動校正以獲取用戶選擇來標識至少一個四邊形,并且選擇通過所述半自動選擇標識的至少一個四邊形;以及 處理所捕捉的圖像以產(chǎn)生與所選的至少一個四邊形相對應的掃描文檔。
11.如權(quán)利要求10所述的便攜式計算設備,其特征在于,所述捕捉應用還被配置為導致便攜式計算設備至少通過以下方式執(zhí)行對一個或多個潛在四邊形的檢測 檢測所捕捉的圖像中的邊;以及 確定與所檢測的邊相對應的線條;以及 通過組合所檢測的邊和線條來產(chǎn)生潛在的四邊形。
12.如權(quán)利要求11所述的便攜式計算設備,其特征在于,檢測邊包括應用算法以找到與所述邊相對應的亮度的急劇改變。
13.如權(quán)利要求11所述的便攜式計算設備,其特征在于,所述確定與所檢測的邊相對應的線條包括應用線性變換以校正所檢測的邊的缺陷。
14.如權(quán)利要求10所述的便攜式計算設備,其特征在于,所述進行自動選擇包括將評分方案應用于所捕捉的圖像中檢測到的一個或多個潛在四邊形,所述評分方案至少計及所述圖像中的四邊形的位置以及所捕捉的圖像中的四邊形的相對大小。
15.如權(quán)利要求10所述的便攜式計算設備,其特征在于,處理所捕捉的圖像以產(chǎn)生掃描文檔包括 將所捕捉的圖像剪裁為與至少一個四邊形相對應; 展開所剪裁的圖像以校正透視失真;以及 將一個或多個視覺增強應用于剪裁的圖像。
全文摘要
描述了基于照相機的掃描的各實施例。在各實施例中,可使用由與設備相關聯(lián)的照相機拍攝的圖像來創(chuàng)建掃描的文檔。處理由照相機拍攝的圖像以標識圖像內(nèi)與諸如紙、名片、白板、屏幕等矩形對象相對應的部分。可選擇這些部分中的一個或多個以用來基于評分方案自動地掃描和/或在來自用戶的輸入的幫助下半自動地掃描。通過展開所選部分以消除透視效應(例如,將該部分調(diào)整為矩形)以及應用各種圖像增強以改進外觀來從所選的部分中創(chuàng)建一個或多個掃描的文檔。
文檔編號H04N5/225GK102714692SQ201080042348
公開日2012年10月3日 申請日期2010年8月28日 優(yōu)先權(quán)日2009年9月23日
發(fā)明者A·米特洛夫克, B·德雷塞維克, D·尼耶姆切維奇, G·F·佩特舒寧格, M·武格代利亞, M·武科薩沃維奇 申請人:微軟公司