用于生產力應用的圖像處理的制作方法
【專利摘要】提供了用于生產力應用的圖像處理。計算設備可以接收圖像。計算設備可以檢測包括所接收的圖像的邊緣,并且基于所檢測到的邊緣的歪斜狀態來對圖像進行調整。隨后,計算設備可以對經調整的圖像進行處理以校正失衡。計算設備然后可以向經處理的圖像分配圖像分類。隨后,計算設備可以基于所分配的圖像分類來對經處理的圖像進行調整。
【專利說明】用于生產力應用的圖像處理
[0001 ]版權聲明
[0002]本專利文檔的公開內容的一部分包含受版權保護的材料。版權所有者不反對任何人按其出現在專利商標局專利文件或記錄中的那樣復制本專利文檔或本專利公開內容,但在其它方面無論如何保留所有版權。
【背景技術】
[0003]諸如智能電話和平板設備之類的移動計算設備越來越多地被利用,以代替單獨的照相機來捕獲與工作場所(例如,包括幻燈片演示、頭腦風暴會議等的會議)中的各種生產力場景相關聯的白板、黑板(即,具有彩色背景的書寫表面)以及文檔的照片。隨后,可以在一個或多個生產力應用中利用所捕獲的攝影圖像來生成電子文檔。但是,前述對攝影圖像的捕獲遭受多種缺陷。例如,很多照片必須按某個角度(其可能是由于用戶所位于的房間的物理尺寸的限制)、以及以不太理想的光照條件(例如,由于會議室中入射光的眩光)進行拍攝。結果,捕獲的攝影圖像通常包含不想要的角度偏斜以及不想要的區域(例如,位于白板畫面之外的墻壁或者位于文檔頁面邊界之外的工作臺表面),在外部的生成力應用中使用這些圖像之前必須對其進行矯正。此外,捕獲的攝影圖像可能包含入射光殘留的反射,從而在生產力應用軟件進行使用之前,需要對這些圖像進行“清理”。本發明的各個實施例正是針對這些考慮事項和其它考慮事項而做出的。
【發明內容】
[0004]提供本
【發明內容】
以便用簡化的形式介紹以下將在【具體實施方式】中進一步描述的一些概念。本
【發明內容】
并不是旨在標識本發明的關鍵特征或必要特征,也不是旨在幫助確定所要求保護的主題的范圍。
[0005]提供了用于生產力應用的圖像處理的實施例。計算設備可以接收圖像。計算設備可以檢測包括所接收的圖像的邊緣,并基于所檢測到的邊緣的偏斜狀態來對圖像進行調整。隨后,計算設備可以對調整后的圖像進行處理以校正失衡。計算設備然后可以向經處理的圖像分配從一個或多個圖像類別中選擇的圖像分類。隨后,計算設備可以基于所分配的圖像分類來對經處理的圖像進行調整。
[0006]通過閱讀以下詳細描述并回顧相關聯的附圖,這些和其它特征和優點將變得顯而易見。應當理解的是,前述的一般描述和以下詳細描述均僅是說明性的,而并非是對所要求保護的本發明的限制。
【附圖說明】
[0007]圖1A示出了根據一個實施例的計算設備的屏幕顯示,其包括用于捕獲圖像以進行處理的用戶界面;
[0008]圖1B是示出根據一個實施例的用于針對生產力應用的圖像處理的計算系統架構的框圖;
[0009]圖2是示出根據一個實施例的由圖1的應用所使用的各種程序模塊的框圖;
[0010]圖3是示出根據一個實施例的用于針對生產力應用執行圖像處理的例程的流程圖;
[0011]圖4是示出根據一個實施例的用于執行圖像邊緣檢測和矯正的例程的流程圖;
[0012]圖5是示出根據一個實施例的用于執行圖像處理清理的例程的流程圖;
[0013]圖6是示出根據一個實施例的用于執行圖像分類的例程的流程圖;
[0014]圖7是可以實現各種實施例的計算設備的簡化框圖;
[0015]圖8A是可以實現各種實施例的移動計算設備的簡化框圖;
[0016]圖SB是可以實現各種實施例的移動計算設備的簡化框圖;以及
[0017]圖9是可以實現各種實施例的分布式計算系統的簡化框圖。
【具體實施方式】
[0018]提供了用于生產力應用的圖像處理的實施例。計算設備可以接收圖像。計算設備可以檢測包括所接收的圖像的邊緣,并基于所檢測到的邊緣的歪斜狀態來對圖像進行調整。隨后,計算設備可以對經調整的圖像進行處理,以校正失衡。計算設備然后可以向經處理的圖像分配從一個或多個圖像類別中選擇的圖像分類。隨后,計算設備可以基于所分配的圖像分類來對經處理的圖像進行調整。
[0019]在以下詳細描述中,參照了形成所述詳細描述的一部分的附圖,其中通過說明的方式示出了特定的實施例或者例子。在不脫離本發明的精神或保護范圍的情況下,可以對這些實施例進行組合,可以使用其它實施例,并且可以進行結構改變。因此,以下的詳細描述不應被視為限制性的,并且本發明的保護范圍由所附權利要求及其等同物進行限定。
[0020]圖1A示出了根據一個實施例的計算設備10的屏幕顯示14,其包括用于捕獲圖像以進行處理的用戶界面。該用戶界面可以包括用戶控制15、17和19。可以使用用戶控制15來選擇被配置用于標準攝影圖像的圖像處理模式,可以使用用戶控制17來選擇被配置用于白板圖像的圖像處理模式,并且可以使用用戶控制19來選擇被配置用于文檔圖像的圖像處理模式。根據各個實施例,可以通過任意數量的手勢(其包括點擊和滑動手勢)來進行用戶控制
15、17和19的選擇。如圖1中所示,已經選擇用戶控制17來進行白板圖像處理,并且用戶(通過手4來表示)正在準備捕獲白板22的圖像,白板22可以例如安裝在具有天花板2的會議室的墻壁上。隨后,用戶可以使用圖像捕獲按鈕6來捕獲白板22的圖像。
[0021]圖1B是示出根據一個實施例的用于針對生產力應用執行圖像處理的計算系統架構的框圖。計算系統架構包括計算設備10。計算設備10可以包括圖像捕獲設備28(例如,攝像頭或網絡攝像頭)、生產力應用30、其它應用40和相機膠卷60,相機膠卷60可以包括計算設備10上的用于存儲捕獲的圖像50的文件夾。生產力應用30可以被配置為使用圖像捕獲設備28來捕獲文檔20、白板22和/或黑板24的照片或者視頻,進一步將這些照片或視頻存儲成圖像以立即進行圖像處理(例如,在相機膠卷60中作為圖像50)或者用于以后取回和進行圖像處理。應當理解的是,在替代的實施例中,計算設備10上的圖像50還可以包括先前存儲的用于以后取回和圖像處理的圖像。
[0022]根據一個實施例,文檔20可以包括在辦公室、會議室、學校教室或者其它工作環境中,在會議或者演示期間討論的包含信息的物理文檔(例如,紙質文檔)。白板22可以包括用于在辦公室、會議室、學校教室或者其它工作環境中,在會議或者演示期間記錄筆記、草稿等的物理標記板、干擦板(dry-erase board)、擦寫板(dry-wipe board)或筆板(pen-board) ο黑板24可以類似于白板22,除了其包括非白色(例如彩色)表面之外。
[0023]如下面所進一步詳細描述的,根據一個實施例,生產力應用30可以包括自由形式的信息收集和多用戶協作應用程序,該程序被配置為將來自文檔20、白板22和/或黑板24中的筆記(手寫或者打印的)和圖捕獲成圖像,并且其還配置為進一步對這些圖像進行處理,使得它們可以被生產力應用30和/或其它應用40進行使用。根據一個實施例,生產力應用30可以包括來自華盛頓雷德蒙的微軟公司的0ΝΕΝ0ΤΕ筆記軟件。但是,應當理解的是,根據本文所描述的各個實施例,可以替代地使用其它生產力應用(其包括來自其它制造商的那些應用)。應當理解的是,其它應用40可以包括可以從生產力應用30接收經處理的圖像的額外的生產力應用軟件。例如,其它應用40可以包括但不限于:文字處理軟件、圖形演示軟件、電子表格軟件、繪圖軟件、項目管理軟件、出版軟件和個人信息管理軟件。應當明白的是,前述的軟件應用可以包括單獨的應用程序,或者替代地可以合并成一套應用,比如來自華盛頓雷德蒙的微軟公司的OFFICE應用程序套件。
[0024]圖2是示出根據一個實施例的由圖1的生產力應用30所使用的各種程序模塊的框圖。如下面所進一步詳細描述的,生產力應用30可以包括邊緣檢測模塊32、清理模塊34和分類器模塊36。這些前述的程序模塊中的每一個可以被配置為執行一個或多個算法,以改善關于圖像捕獲設備28所捕獲的圖像和/或從相機膠卷60取回的圖像的圖像質量。例如,邊緣檢測模塊可以被配置為執行四邊形邊緣檢測算法,以檢測白板/文檔邊界,以及將歪斜的圖像裁剪/矯正成長方形。清理模塊34可以被配置為執行圖像清理算法,以通過照片的直方圖分析來應用調諧的色彩效果(即,通過計算白色點或白色水平,黑色點或黑色水平,以及對比度)從而調整白板/文檔的色彩平衡,并且以執行色彩調整和估計陰影/亮度。應當明白的是,前述的應用改善了圖像的可讀性。分類器模塊36可以被配置為執行對象分類器算法,以在白板、黑板、文檔和底片圖像之間進行區分,以進行圖像清理。
[0025]圖3是示出根據一個實施例的用于針對生產力應用執行圖像處理的例程300的流程圖。在閱讀本文所給出的例程的討論時,應當明白的是,本發明的各個實施例的邏輯操作實現成:(I)在計算系統上運行的一系列的計算機實現的動作或程序模塊;和/或(2)在計算系統內互連的機器邏輯電路或電路模塊。本實現是依賴于實現本發明的計算系統的性能要求的選擇問題。因此,圖3-6中示出并且組成本文所描述的各個實施例的邏輯操作不同地被稱為操作、結構性設備、動作或模塊。本領域普通技術人員應當認識到,在不脫離如本文所闡述的權利要求書中記載的本發明的精神和保護范圍的情況下,這些操作、結構性設備、動作和模塊可以用軟件、硬件、固件、專用數字邏輯、以及其任意組合來實現。
[0026]例程300開始于操作305,在操作305處,在計算設備10上執行的生產力應用30可以從圖像捕獲設備28(8卩,從相機膠卷60)接收圖像50。所接收的圖像可以包括文檔20的文檔圖像或照片、白板22的白板圖像或照片、或者黑板24的黑板圖像或照片。
[0027]例程300從操作305繼續到操作310,在操作310處,在計算設備10上執行的生產力應用30可以檢測包括所接收的圖像的邊緣。具體而言,如下面將參照圖4更詳細討論的,生產力應用30可以執行邊緣檢測算法,以檢測任何歪斜的圖像邊界(例如,針對以某個角度所拍攝的照片)。
[0028]例程300從操作310繼續到操作315,在操作315處,在計算設備10上執行的生產力應用30可以基于在操作310處檢測到的邊緣的歪斜狀態,來對所接收的圖像進行調整。具體而言,如下面將參照圖4更詳細討論的,生產力應用30可以執行邊緣檢測算法,以便將歪斜的圖像邊界裁剪/矯正成長方形,從而校正角度失真。
[0029]例程300從操作315繼續到操作320,在操作320處,在計算設備10上執行的生產力應用30可以對所接收的圖像進行處理,以校正失衡(S卩,圖像清理)。具體而言,如下面參照圖5更詳細討論的,生產力應用30可以執行圖像清理算法以應用色彩和其它調整,以便改善圖像可讀性。
[0030]例程300從操作320繼續到操作325,在操作325處,在計算設備10上執行的生產力應用30可以向所接收的圖像分配從一個或多個圖像類別中選擇的圖像分類。具體而言,如下面將參照圖6更詳細討論的,生產力應用30可以執行對象分類器算法,以便在白板、黑板、文檔和底片圖像之間進行區分。
[0031]例程300從操作325繼續到操作330,在操作330處,在計算設備10上執行的生產力應用30可以基于在操作325處分配的圖像分類,來對所接收的圖像進行調整。應當理解的是,根據一個實施例,生產力應用30可以被預配置用于處理文檔和白板圖像(例如,具有白色或者淡色背景的圖像)以進行圖像清理。因此,例如,如果后續將清理后的圖像分類成黑板圖像,則生產力應用30可以被配置為相應地調整先前應用的清理算法。隨后,例程300從操作330轉到結束。
[0032]圖4是示出根據一個實施例的用于執行圖像邊緣檢測和矯正的例程400的流程圖。例程400開始于操作405,在操作405處,在計算設備10上執行的生產力應用30可以針對接收的圖像來確定未對齊的邊緣。具體而言,生產力應用30可以使用邊緣檢測算法,來確定包括圖像的任何邊界是否是歪斜的。
[0033]例程400從操作405繼續到操作410,在操作410處,在計算設備10上執行的生產力應用30可以枚舉四邊形候選,以對操作405處檢測到的歪斜的圖像邊界進行調整。具體而言,生產力應用30可以使用前述的邊緣檢測算法,來針對圖像的左部、上部、右部和底部邊緣來枚舉或者“排列”可能的四邊形候選。在一個實施例中,可以丟棄具有彼此之間太靠近的相對邊緣的四邊形候選(例如,對角線之比位于預定的范圍之外)。
[0034]例程400從操作410繼續到操作415,在操作415處,在計算設備10上執行的生產力應用30可以向在操作410處枚舉的四邊形候選分配評分。具體而言,生產力應用30可以使用前述的邊緣檢測算法來向這些候選分配評分。
[0035]例程400從操作415繼續到操作420,在操作420處,在計算設備10上執行的生產力應用30可以選擇具有最高評分的四邊形。在一個實施例中,當選擇最佳四邊形候選時,生產力應用30可以使用可以被利用的以下啟發法:(I)向具有與其它線段不交叉的線段的四邊形給予更高的評分;(2)向具有在四邊形角附近結束的線段的四邊形給予更高的評分;(3)當分配評分時,將該四邊形的面積考慮在內。
[0036]例程400從操作420繼續到操作425,在操作425處,在計算設備10上執行的生產力應用30可以對操作405處檢測到的未對齊的邊緣進行調整,以形成與具有最高評分的候選相對應的四邊形。在一個實施例中,生產力應用30可以使用以下因素來執行前述的調整:
(I)基于構建曲線并將它們簡化成線,來使用線檢測算法;(2)當需要時,使用線合并(例如,當四邊形的一個邊緣由在其之間具有間隔的多條線構成時),應當理解的是,線合并可以進一步基于以下子因素:(a)多條線的相鄰端點之間的允許間隔的門限;(b)多條線之間的角度的允許差值的門限;(C)與多條線垂直的線所交叉的多個點之間的允許間隔的門限(例如,如果對兩條線進行延長的話,它們之間的距離);(3)通過移除線之間的小中斷(例如,通過對高分辨率照片進行縮小)來使曲線和邊緣平滑;(4)允許照片的邊緣成為該四邊形的一部分,并且針對該照片內的邊緣(例如,針對諸如文檔之類的圖像,其中校正的邊緣中的一個或多個是該照片本身的邊緣)來調整偏好值;(5)利用來自所檢測到的邊緣的方向的亮度(即,通過假設圖像比周圍區域更亮或更暗,對一組線進行檢查,并且關于哪些是用于左邊緣相對右邊緣的候選,哪些是用于上邊緣相對底邊緣的候選進行確定);以及(6)通過使用角度信息來實施一致的方向,并且通過拒絕不遵循前述的規則的四邊形候選來實施一致的亮度(例如,白板或白色文檔通常具有指向內部的邊緣,而黑板或黑色文檔通常應當具有指向外部的邊緣一一應當明白的是,這可以減少誤將位于白板/文檔之內或之外的直線用作邊緣的情況)。還應當理解的是,當進行調整以形成四邊形時,生產力應用30可以進行各種線假設。這些假設可以包括:(I)與可以位于四邊形的左邊緣的左側(例如,照片的左邊50 % )的距離;(2)針對四邊形的邊緣的最大角度(例如,可以使針對白板的垂直邊緣豎立,使針對文檔的水平邊緣從上面提取);(3)允許對邊緣進行曲線化(S卩,如果線太偏離直線的話,則可以將其分割成更短的線段一一應當明白的是,這可以用于文檔,這是它們由于紙張通常并不是完全平坦而很可能具有彎曲的邊界)。還應當理解的是,生產力應用30可以對與最高評分相對應的四邊形進行驗證。具體而言,每張照片或者圖像可以具有記錄的四個坐標的集合,該驗證將確定每一個檢測的圖像與預定的預期具有多大的偏離,并給出整體的評分。
[0037]圖5是示出根據一個實施例的用于執行圖像處理清理的例程500的流程圖。例程500開始于操作505,在操作505處,在計算設備10上執行的生產力應用30可以向圖像應用調諧的色彩效果。具體而言,生產力應用30可以通過計算白色點或白色水平、黑色點或黑色水平,以及對比度,來執行圖像(例如,照片)的直方圖分析
[0038]例程500從操作505繼續到操作510,在操作510處,在計算設備10上執行的生產力應用30,可以基于所調諧的色彩效果來調整圖像的色彩平衡。具體而言,生產力應用30可以使用在操作505處執行的直方圖分析,來針對圖像執行色彩調整和估計陰影/突亮部分。應當理解的是,前述的調整可以得到具有改善的亮度、對比度和色調的經處理的圖像,其共同改善圖像可讀性。根據一個實施例,針對文檔圖像和白板圖像,可以分別使用不同的圖像清理算法。例如,文檔圖像清理算法可以包括以下步驟:(I)將圖像劃分成一些分割區域,并將它們組成曝光區;(2)計算該圖像的最亮和最暗區域以及對比度;(3)鉗制針對文檔自定義的色彩效果的門限值(以確保不會過度地應用這些效果)。具體而言,應當理解的是,文檔圖像清理算法特征在于曝光評估方法的基于區域的最佳估計。該方法將照片(例如,文檔圖像)分割成幾個區域,并將它們組成曝光區。隨后,該算法可以計算該照片的最亮、最暗區域和對比區域。應當明白的是,前述的方法考慮各個區域的可視性和區域之間的相對對比度以進行最佳曝光偏色調整,從而保留細節并且實現最佳輸出。此外,該算法可以鉗制針對文檔自定義的色彩門限值,以確保不會向照片應用過度的色彩效果。
[0039]—種說明性白板圖像清理算法可以包括:(I)應用具有自定義的參數值(例如,單元大小和表大小)的白平衡,以去除背景噪聲、斑點和眩光;(2)應用具有自定義的參數值(例如,飽和度、陰影)的色彩效果,以緩和白度水平,使筆畫更加豐富多彩;(3)夾緊針對白板自定義的色彩效果的門限值(以確保不會過度應用這些效果)。隨后,例程500從操作510轉到結束。
[0040]圖6是示出根據一個實施例的用于執行圖像分類的例程600的流程圖。例程600開始于操作605,在操作605處,在計算設備10上執行的生產力應用30可以根據圖像來構建色彩值的直方圖,以確定亮度水平。在一個實施例,可以構建RGB顏色編碼為色調范圍為[O,255]的直方圖。
[0041 ] 例程600從操作605繼續到操作610,在操作610處,在計算設備10上執行的生產力應用30可以根據該直方圖來計算均值。
[0042]例程600從操作610繼續到操作615,在操作615處,在計算設備10上執行的生產力應用30可以如下來計算所計算的均值的標準偏差:stdev SQRT(SUM( (mean-value)'2)。
[0043]例程600從操作615繼續到操作620,在操作620處,在計算設備10上執行的生產力應用30可以基于在操作610處計算的均值和在操作615處計算的標準偏差之間的差值(例如,均值-標準偏差)是大于門限還是不大于門限,來對圖像進行分類。如果前述的差值大于門限,則將該圖像分類成白板圖像。另一方面,如果前述的差值不大于門限,則將該圖像分類成黑板圖像。在一個實施例中,該分類所基于的門限可以根據數百的測試圖像集的評估來進行定義。隨后,例程600從操作620轉到結束。
[0044]圖7-9以及相關聯的描述提供了在其中可以實現本發明的實施例的各種操作環境的討論。但是,參照圖7-9所示出和討論的設備和系統是用于舉例和說明目的,而不是對本文所描述的可以用于實現本發明的實施例的眾多數量的計算設備配置進行限制。
[0045]圖7是示出利用其可以實現各個實施例的計算設備700的示例物理部件的框圖。在基本配置中,計算設備700可以包括至少一個處理單元702和系統存儲器704。根據計算設備的配置和類型,系統存儲器704可以包括但不限于:易失性(如,隨機存取存儲器(RAM))、非易失性(如,只讀存儲器(R0M))、閃存或者任意組合。系統存儲器704可以包括操作系統705和應用707。例如,操作系統705可以適合于對計算設備700的操作進行控制,并且根據一個實施例,其可以包括來自華盛頓雷德蒙的微軟公司的WINDOWS操作系統。例如,應用707可以包括用于執行例程的功能(例如,執行如上面參照圖3-6的例程300-600中的操作所描述的圖像處理)。
[0046]計算設備700可以具有另外的特征或功能。例如,計算設備700還可以包括另外的數據存儲設備(可移動和/或不可移動),比如磁盤、光盤、固態存儲設備(“SSD”)、閃存或磁帶。在圖7中通過可移動存儲設備709和不可移動存儲設備710來示出這種另外的存儲設備。此外,計算設備700還可以具有諸如鍵盤、鼠標、筆、聲音輸入設備(如,麥克風)、用于接收手勢的觸摸輸入設備、加速計或旋轉傳感器等等之類的輸入設備712。還可以包括諸如顯示器、揚聲器、打印機等等之類的輸出設備714。前述的設備是例子,而可以使用其它設備。計算設備700可以包括允許與其它計算設備718進行通信的一個或多個通信連接716。合適的通信連接716的例子包括但不限于:RF發射機、接收機和/或收發機電路;通用串行總線(USB)、并行端口和/或串行端口。
[0047]此外,各個實施例可以在包括離散電子元件的電子電路、包含邏輯門的封裝或者集成的電子芯片、使用微處理器的電路中實現,或者在包含電子元件或微處理器的單一芯片上實現。例如,可以經由片上系統(“SOC” )來實現各個實施例,其中,圖7中所示出的部件里的每一個或大部分可以集成到單一集成電路上。這種SOC設備可以包括一個或多個處理單元、圖形單元、通信單元、系統虛擬化單元和各種應用功能,所有這些都集成(或者“燒”)到芯片基底上作為單一集成電路。當經由SOC進行操作時,本文所描述的功能可以經由與計算設備/系統700的其它部件集成在單一集成電路(芯片)上的專用邏輯單元來進行操作。此夕卜,還可以使用能夠執行諸如與、或以及非之類的邏輯操作的其它技術來實現,其包括但不限于:機械、光、流體和量子技術。此外,可以在通用計算機或者任何其它電路或系統中實現實施例。
[0048]如本文所使用的術語計算機可讀介質可以包括計算機存儲介質。計算機存儲介質可以包括利用用于存儲信息(如,計算機可讀指令、數據結構或程序模塊)的任何方法或技術來實現的易失性和非易失性、可移動和不可移動介質。系統存儲器704、可移動存儲設備709和不可移動存儲設備710都是計算機存儲介質的例子(S卩,存儲器存儲設備)。計算機存儲介質可以包括RAM、R0M、電可擦除只讀存儲器(EEPROM)、閃存或其它存儲器技術、CD-ROM、數字多功能光盤(DVD)或其它光存儲、盒式磁帶、磁帶、磁盤存儲或其它磁存儲設備、或者可以用于存儲信息并能夠由計算設備700進行訪問的任何其它制品。任何這種計算機存儲介質可以是計算設備700的一部分。計算機存儲介質不包括載波波形或者其它傳播或調制數據信號。
[0049]通信介質可以通過計算機可讀指令、數據結構、程序模塊、或者調制數據信號(例如,載波波形或其它傳輸機制)中的其它數據來體現,并且包括任何信息傳送介質。術語“調制數據信號”可以描述以關于將信息編碼在該信號之中的方式來進行設置或者改變的一個或多個特性的信號。通過舉例而非限制的方式,通信介質可以包括諸如有線網絡或直接有線連接之類的有線介質、以及諸如聲波、射頻(RF)、紅外線和其它無線介質之類的無線介質。
[0050]圖8A和圖SB示出了利用其可以實現各個實施例的適當的移動計算環境,例如,移動計算設備850(其可以包括但不限于:智能電話、平板個人計算機、膝上型計算機等等)。參見圖8A,示出了用于實現實施例的示例移動計算設備850。在基本配置中,移動計算設備850是具有輸入單元和輸出單元二者的手持計算機。輸入單元可以包括允許用戶向移動計算設備850輸入信息的觸摸屏顯示器825和輸入按鈕810。移動計算設備850還可以合并允許進一步的用戶輸入的可選側輸入單元820。可選側輸入單元820可以是旋轉開關、按鈕或者任何其它類型的手工輸入單元。在替代的實施例中,移動計算設備850可以合并更多或更少的輸入單元。在另一個替代的實施例中,移動計算設備可以是便攜式電話系統,例如,具有顯示器825和輸入按鈕810的蜂窩電話。移動計算設備850還可以包括可選的小鍵盤805。可選的小鍵盤805可以是物理小鍵盤或者在觸摸屏顯示器上生成的“軟的”小鍵盤。
[0051]移動計算設備850合并諸如顯示器825(其可以顯示圖形用戶界面(GUI))之類的輸出單元。其它輸出單元包括揚聲器830和LED 880。另外,移動計算設備850可以合并振動模塊(沒有示出),振動模塊使移動計算設備850振動以向用戶通知事件。在另一個實施例中,移動計算設備850可以合并耳機插孔(沒有示出),以提供用于提供輸出信號的另一種方式。
[0052]雖然本文結合移動計算設備850進行了描述,但是在替代的實施例中,可以結合任何數量的計算機系統來使用,例如,在桌面型環境、膝上型或筆記本計算機系統、多處理器系統、基于微處理器或可編程的消費電子設備、網絡PC、微型計算機、大型計算機等等中使用。還可以在分布式計算環境中實現各個實施例,其中在分布式計算環境下,任務由通過通信網絡來連接的遠程處理設備來執行;程序可以位于本地和遠程存儲器存儲設備之中。總之,具有多個環境傳感器、向用戶提供通知的多個輸出單元和多種通知事件類型的任何計算機系統,都可以合并本文所描述的各個實施例。
[0053]圖8B是示出在一個實施例中使用的移動計算設備(例如,圖8A中示出的移動計算設備850)的部件的框圖。也就是說,移動計算設備850可以合并系統802以實現一些實施例。例如,系統802可以用于實現“智能電話”,“智能電話”可以運行類似于桌面型或筆記本計算機中的那些應用的一個或多個應用。在一些實施例中,將系統802集成為計算設備,例如集成個人數字助理(PDA)和無線電話。
[0054]應用867可以裝載到存儲器862中,并且在操作系統864上運行或者關聯操作系統864來運行。此外,系統802還包括位于存儲器862中的非易失性存儲設備868。非易失性存儲設備868可以用于存儲當系統802關閉時,不應當丟失的持久信息。應用867可以使用非易失性存儲設備868中的信息,并且在非易失性存儲設備868中存儲信息。例如,應用867可以包括用于執行例程的功能(例如,其包括如上面參照圖3-6的例程300-600中的操作所描述的執行圖像處理)。同步應用(沒有示出)也位于系統802上,并被編程為與位于主機計算機上的相應同步應用進行交互,以保持非易失性存儲設備868中存儲的信息與主機計算機處存儲的相應信息相同步。應當明白的是,其它應用也可以裝載到存儲器862中,并運行在移動計算設備850上。
[0055]系統802具有電源870,電源870可以實現成一個或多個電池。電源870還可以包括外部電源,例如,AC適配器或者對電池進行補充或充電的供電對接支座。
[0056]系統802還可以包括用于執行發送和接收射頻通信的無線電裝置872(即,無線電接口層)。無線電裝置872有助于通過通信載波或服務提供商,實現系統802和“外部世界”之間的無線連接。在OS 864的控制之下,進行去往和來自無線電裝置872的傳輸。換言之,可以經由OS 864將無線電裝置872接收的通信傳播到應用867,反之亦然。
[0057]無線電裝置872允許系統802例如通過網絡,與其它計算設備進行通信。無線電裝置872是通信介質的一個例子。系統802的實施例被示為具有兩種類型的通知輸出設備:可以用于提供視覺通知的LED 880和可以用于結合揚聲器830來提供音頻通知的音頻接口874。這些設備可以直接地耦合到電源870,使得當被激活時,它們在通知機制所指示的持續時間內保持開啟(即使處理器860和其它部件可能關閉以節省電池電量)。可以對LED880進行編程以無限期地保持開啟,直到用戶采取動作來指示該設備的通電狀態為止。音頻接口874用于向用戶提供可聽的信號和從用戶接收可聽的信號。例如,除了耦合到揚聲器830之夕卜,音頻接口874還可以耦合到麥克風(沒有示出)以接收可聽的(如,語音)輸入,例如以便促進電話會話。根據實施例,麥克風還可以用作音頻傳感器,以有助于通知的控制。此外,系統802還可以包括視頻接口 876,視頻接口 876能夠實現板上攝像頭840的操作以記錄靜止圖像、視頻流等等。
[0058]實現系統802的移動計算設備可以具有另外的特征或功能。例如,該設備還可以包括諸如磁盤、光盤或磁帶之類的另外的數據存儲設備(可移動和/或不可移動)。在圖SB中,通過存儲設備868的方式來示出這種另外的存儲設備。
[0059]由移動計算設備850生成或捕獲并經由系統802來存儲的數據/信息可以本地地存儲在移動計算設備850上(如上所述),或者該數據可以存儲在任意數量的存儲介質上,其中該任意數量的存儲介質可以由該設備經由無線電裝置872或者經由移動計算設備850和與該移動計算設備850相關聯的單獨計算設備(例如,諸如互聯網之類的分布式計算網絡中的服務器計算機)之間的有線連接來訪問。應當明白的是,這樣的數據/信息可以由移動計算設備850經由無線電裝置872或者經由分布式計算網絡來訪問。類似地,這樣的數據/信息可以根據公知的數據/信息傳送和存儲方式(其包括電子郵件和協作式數據/信息共享系統),在計算設備之間容易地進行傳送以進行存儲和使用。
[0060]圖9是在其中可以實現各個實施例的分布式計算系統的簡化框圖。分布式計算系統可以包括諸如計算設備903、平板計算設備905和移動計算設備910之類的多個客戶端設備。客戶端設備903、905和910可以與分布式計算網絡915(例如,互聯網)進行通信。服務器920通過網絡915與客戶端設備903、905和910進行通信。服務器920可以存儲應用900,應用900可以執行例程(例如,其包括:如上面參照圖3-6的例程300-600中的操作所描述的執行圖像處理)。應用900所開發的內容、與應用900交互的內容或者關聯應用900來編輯的內容,可以利用不同的通信信道或其它存儲類型來存儲。例如,可以使用目錄服務922、web門戶924、郵箱服務926、即時消息傳送存儲928或社交網絡站點930來存儲各種文檔。
[0061]應用900可以使用這些類型的系統等等中的任何系統來實現數據利用,如本文所描述的。服務器920可以向客戶端提供鄰近性應用900。舉一個例子,服務器920可以是通過web來提供應用900的web服務器。服務器920可以通過網絡915,在web上向客戶端提供應用900。舉一個例子,計算設備10可以實現成計算設備903,并且體現為個人計算機、平板計算設備905和/或移動計算設備910(例如,智能電話)中。計算設備903、905和910的這些實施例中的任何實施例可以從存儲916獲得內容。
[0062]上面參照方法、系統和計算機程序產品的框圖和/或操作說明,來描述了各個實施例。這些框中所述的功能/動作可以按不同于任何流程圖所示的次序來發生。例如,根據所涉及的功能/動作,接連示出的兩個框可以事實上基本同時地執行,或者這些框有時可以以相反次序來執行。
[0063]本申請中提供的一個或多個實施例的描述和說明,并非是旨在以任何方式來限制或者限定所要求保護的本發明的范圍。本申請中提供的實施例、例子和細節被認為足以傳達擁有所要求保護的本發明,并且使他人能夠實現和使用所要求保護的本發明的最佳模式。所要求保護的本發明不應被解釋為限于本申請中提供的任何實施例、例子或者細節。不管是以組合方式還是單獨地進行示出和描述,各個特征(結構和方法特征二者)旨在被選擇性地包括或者省略,以產生具有一組特定特征的實施例。已經提供了本申請的描述和說明,本領域技術人員可以預想落入本申請所體現的發明構思的更廣泛方面的精神之內的變型、修改和替代實施例,而這些變型、修改和替代實施例不脫離所要求保護的本發明的更廣泛的范圍。
【主權項】
1.一種用于生產力應用的圖像處理的方法,包括: 由計算設備接收圖像; 由所述計算設備檢測包括所接收的圖像的多個邊緣; 由所述計算設備基于所檢測到的多個邊緣的歪斜狀態來對所接收的圖像進行調整; 由所述計算設備對經調整的圖像進行處理以校正失衡; 由所述計算設備向經處理的圖像分配從多個圖像類別中的一個圖像類別選擇的圖像分類; 由所述計算設備基于所分配的圖像分類,來對經處理的圖像進行調整。2.根據權利要求1所述的方法,其中,由計算設備接收圖像包括:從圖像捕獲設備接收白板圖像和文檔圖像中的一個或多個。3.根據權利要求1所述的方法,其中,由計算設備接收圖像包括:從相機膠卷接收白板圖像。4.根據權利要求1所述的方法,其中,由計算設備接收圖像包括:從相機膠卷接收文檔圖像。5.根據權利要求1所述的方法,其中,由所述計算設備基于所檢測到的多個邊緣的歪斜狀態來對所接收的圖像進行調整包括: 確定所述多個邊緣中的一個或多個邊緣是未對齊的; 枚舉一個或多個四邊形候選; 向所述一個或多個四邊形候選中的每一個四邊形候選分配評分; 從所述一個或多個四邊形候選中,選擇具有最高評分的四邊形;以及對所述多個邊緣中的被確定是未對齊的所述一個或多個邊緣進行調整,以形成所述具有最尚評分的四邊形。6.根據權利要求1所述的方法,其中,由所述計算設備對經調整的圖像進行處理以校正失衡包括: 向所述圖像應用調諧的色彩效果;以及 基于所述調諧的色彩效果來對所述圖像的色彩平衡進行調整。7.根據權利要求1所述的方法,其中,由所述計算設備向經處理的圖像分配圖像分類以進入多個圖像類別中的一個圖像類別包括: 根據所接收的圖像來構建色彩值的直方圖以確定亮度水平; 根據所述直方圖來計算均值;以及 基于所述均值來計算標準偏差。8.根據權利要求7所述的方法,還包括: 當所述標準偏差和所述均值之間的差值大于門限時,確定經處理的圖像是白板圖像;以及 當所述標準偏差和所述均值之間的所述差值不大于所述門限時,確定經處理的圖像是黑板圖像。9.一種計算設備,包括: 存儲器,其用于存儲可執行程序代碼;以及 處理器,其功能性地耦合到所述存儲器,所述處理器響應于所述程序代碼中包含的計算機可執行指令并且進行操作以: 從圖像捕獲設備接收圖像; 檢測包括所接收的圖像的多個邊緣; 基于所檢測到的多個邊緣的歪斜狀態來對所接收的圖像進行調整; 對經調整的圖像進行處理以校正失衡; 向經處理的圖像分配從多個圖像類別中的一個圖像類別選擇的圖像分類; 基于所分配的圖像分類,來對經處理的圖像進行調整。10.根據權利要求9所述的計算設備,其中,所述處理器在基于所檢測到的多個邊緣的歪斜狀態來對所接收的圖像進行調整時進行操作以: 確定所述多個邊緣中的一個或多個邊緣是未對齊的; 枚舉一個或多個四邊形候選; 向所述一個或多個四邊形候選中的每一個四邊形候選分配評分; 從所述一個或多個四邊形候選中,選擇具有最高評分的四邊形;以及對所述多個邊緣中的被確定是未對齊的所述一個或多個邊緣進行調整,以形成所述具有最尚評分的四邊形。11.根據權利要求9所述的計算設備,其中,所述處理器在對經調整的圖像進行處理以校正失衡時進行操作以: 向所述圖像應用調諧的色彩效果;以及 基于所述調諧的色彩效果來對所述圖像的色彩平衡進行調整。12.根據權利要求9所述的計算設備,其中,所述處理器在向經處理的圖像分配圖像分類以進入多個圖像類別中的一個圖像類別時進行操作以: 根據所接收的圖像來構建色彩值的直方圖以確定亮度水平; 根據所述直方圖來計算均值;以及 基于所述均值來計算標準偏差。13.根據權利要求12所述的計算設備,其中,所述處理器還進行操作以: 當所述標準偏差和所述均值之間的差值大于門限時,確定經處理的圖像是白板圖像;以及 當所述標準偏差和所述均值之間的所述差值不大于所述門限時,確定經處理的圖像是黑板圖像。14.一種存儲有計算機可執行指令的計算機可讀存儲介質,其中所述計算機可執行指令在被計算機執行時,將使得計算機執行用于生產力應用的圖像處理的方法,所述方法包括: 接收圖像的照片; 由所述計算設備檢測包括所述圖像的多個邊緣; 基于所檢測到的多個邊緣的歪斜狀態來對所述圖像進行調整; 對經調整的圖像進行處理以校正失衡; 通過以下操作來向經處理的圖像分配從多個圖像類別中的一個圖像類別選擇的分類: 根據所接收的圖像來構建色彩值的直方圖以確定亮度水平; 根據所述直方圖來計算均值; 基于所述均值來計算標準偏差; 當所述標準偏差和所述均值之間的差值大于門限時,確定經處理的圖像是白板圖像;以及 當所述標準偏差和所述均值之間的所述差值不大于所述門限時, 確定經處理的圖像是黑板圖像;以及 基于所分配的圖像分類來對經處理的圖像進行調整。15.根據權利要求14所述的計算機可讀存儲介質,其中,所拍攝的圖像包括來自圖像捕獲設備的白板圖像和文檔圖像中的一個或多個。16.根據權利要求14所述的計算機可讀存儲介質,其中,所拍攝的圖像包括從相機膠卷取回的白板圖像和文檔圖像中的一個或多個。17.根據權利要求14所述的計算機可讀存儲介質,其中,基于所檢測到的多個邊緣的歪斜狀態來對所述圖像進行調整,包括: 確定所述多個邊緣中的一個或多個邊緣是未對齊的; 枚舉一個或多個四邊形候選; 向所述一個或多個四邊形候選中的每一個四邊形候選分配評分; 從所述一個或多個四邊形候選中,選擇具有最高評分的四邊形;以及 對所述多個邊緣中的被確定是未對齊的所述一個或多個邊緣進行調整,以形成所述具有最尚評分的四邊形。18.根據權利要求14所述的計算機可讀存儲介質,其中,對經調整的圖像進行處理以校正失衡包括: 向所述圖像應用調諧的色彩效果;以及 基于所述調諧的色彩效果來對所述圖像的色彩平衡進行調整。19.根據權利要求14所述的計算機可讀存儲介質,其中,向所述圖像應用調諧的色彩效果包括:通過計算白點、黑點和對比度來執行所述圖像的直方圖分析。
【文檔編號】H04N1/00GK106063240SQ201380080871
【公開日】2016年10月26日
【申請日】2013年11月14日
【發明人】S·加藤, Y·白石, D·J·墨菲特, K·二階堂, D·E·馬丁內斯, L·袁, J·劉, A·B·托米奇, I·斯托伊利科夫, Z·張
【申請人】微軟技術許可有限責任公司