亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

實(shí)時影像自動裁剪方法

文檔序號:6563984閱讀:330來源:國知局
專利名稱:實(shí)時影像自動裁剪方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種實(shí)時影像自動裁剪方法,尤指一種不需經(jīng)過預(yù)掃,便可執(zhí)行實(shí)時影像自動裁剪的方法。
影像自動裁剪(auto-crop)的方法是在掃描的應(yīng)用程序上,當(dāng)用戶將原稿經(jīng)過預(yù)掃(pre,scan)后,掃描器可以自動讀取原稿的影像區(qū)塊。已往針對有效影像區(qū)域的自動裁剪,在TWAIN模組外的用戶介面掃描(non-user interface scan)或是包含于TWAIN模組中的TWAIN用戶介面掃描(user interface scan)中,都是經(jīng)由一次預(yù)掃過后,再從預(yù)掃所得到的原稿影像中取出每一圖素(pixel)的R、G、B值來做判斷,以找出有效數(shù)據(jù)區(qū)域的大小。然后,重新設(shè)定掃描器實(shí)際所要掃描的范圍,以去除無效區(qū)域的數(shù)據(jù),或再由用戶框取所需要掃描的區(qū)域。
傳統(tǒng)的裁剪方法因需經(jīng)過預(yù)掃的過程,所以即使實(shí)際所需的被掃描物面積很小,仍然要花費(fèi)相同的時間,而且,在此情況下,預(yù)掃階段所傳回的大部分?jǐn)?shù)據(jù)都是無效的,卻仍需花費(fèi)同樣的資源來處理。例如,掃描器為A3大小,而掃描的圖片僅是一張3*5的照片,若利用現(xiàn)有的自動裁剪方法,必需由掃描器以彩色模式(Color Mode)掃過A3大小的面積。若為TWAIN模組外的用戶介面掃描,則需再經(jīng)過演算法的判斷運(yùn)算,才能得到此張3*5的照片在掃描器上的座標(biāo)。然后重新設(shè)定掃描范圍,鎖定照片所在的位置后再掃描一次,才能得到經(jīng)過自動裁剪的影像數(shù)據(jù)。
本發(fā)明的主要目的是提供一種實(shí)時影像自動裁剪方法,可不必經(jīng)過預(yù)掃程序,而能直接讀取所要掃描的文件,以提高掃描的效率。
本發(fā)明的又一目的是提供一種可快速有效讀取所需文件大小的方法,使驅(qū)動程序不需讀取大量無效的數(shù)據(jù),而可實(shí)時有效地改變數(shù)據(jù)傳輸量,進(jìn)而節(jié)省掃描時間。
本發(fā)明的影像實(shí)時自動裁剪方法是這樣實(shí)現(xiàn)的包含有下列步驟(a)依序讀取來自掃描器的每一部分影像區(qū)塊,直至該部分影像區(qū)塊中出現(xiàn)有效的影像數(shù)據(jù),并儲存該部分影像區(qū)塊于第一存儲裝置中;(b)記錄該第一存儲裝置中的部分影像區(qū)塊的每一圖素的屬性于第二存儲裝置中,直至該部分影像區(qū)塊中出現(xiàn)有效的影像數(shù)據(jù),及該圖素的屬性表示該圖素為有效或無效;(c)在找到該首次出現(xiàn)的有效的影像數(shù)據(jù)時,計算該有效的影像數(shù)據(jù)的左頂點(diǎn)座標(biāo)及右頂點(diǎn)座標(biāo);(d)執(zhí)行每一部分影像區(qū)塊的橫向取樣,以判定部分影像區(qū)塊是否包含結(jié)尾的線條;(e)依據(jù)該第二存儲裝置中該有效的影像數(shù)據(jù)的左頂點(diǎn)座標(biāo)及右頂點(diǎn)座標(biāo),計算該有效的影像數(shù)據(jù)的寬度,并累計該首次出現(xiàn)的有效影像數(shù)據(jù)的線數(shù);(f)依據(jù)該步驟(e)所計算的寬度,重新設(shè)定掃描器的掃描寬度;(g)依序讀取該掃描器所傳送來的影像區(qū)塊,直到讀取到該掃描影像的結(jié)尾線條,并直接將該有效的影像數(shù)據(jù)寫入該點(diǎn)陣圖文檔中,及累計該有效影像數(shù)據(jù)的線條數(shù),或?qū)⒂跋駭?shù)據(jù)緩沖器及影像結(jié)束的信怠,傳回給上層影像處理軟件;以及(h)設(shè)定該最后累計的線條數(shù)為原稿的長度,并將該長度及寬度寫入一點(diǎn)陣圖文檔的表頭中,或通知上層影像處理軟件結(jié)束影像數(shù)據(jù)的讀取,以完成裁剪范圍的設(shè)定。
上述的步驟(b)包含下列步驟當(dāng)上述圖素的色階值小于上述的設(shè)定值時,判定該圖素為無效;以及當(dāng)上述圖素的色階值大于上述的臨界值時,判定該圖素為有效。
上述的步驟(c)包含下列步驟記錄有效的影像數(shù)據(jù)的每一條橫線的起始位置于第一陣列;記錄有效的影像數(shù)據(jù)的每一條橫線的結(jié)束位置于第二陣列;執(zhí)行該第一陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述有效影像數(shù)據(jù)的起始頂點(diǎn)座標(biāo);以及執(zhí)行該第二陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述的有效影像數(shù)據(jù)的終止頂點(diǎn)座標(biāo)。
上述的步驟(d)包含下列步驟設(shè)定多個取樣線區(qū)域,及該每個取樣線區(qū)域包含多條的影像;以一設(shè)定的間距,讀取該多個取樣線區(qū)域;當(dāng)判定該設(shè)定的間距所讀取的有效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)橛行В灰约爱?dāng)判定該設(shè)定的間距所讀取的無效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)闊o效。
上述的寬度及長度的設(shè)定是依據(jù)點(diǎn)陣圖的文檔格式而設(shè)定。
上述的實(shí)時影像自動裁剪方法,還包含下列步驟當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo),及有效線條的數(shù)目,填入一設(shè)定的參數(shù),并將該參數(shù)傳回至一影像處理軟件;當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù);當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用TWAIN模組外的用戶介面存取,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù)。
上述的實(shí)時影像自動裁剪方法,包含有下列步驟當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述的第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo)、有效線條的數(shù)目,及文檔結(jié)束的數(shù)據(jù),傳回至一影像處理軟件,并同時通知掃描器停止掃描;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用TWAIN模組外的用戶介面存取,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭;以及結(jié)束文檔,并通知掃描器停止掃描。
上述的實(shí)時影像自動裁剪方法,包含有下列步驟(i)關(guān)閉上述的點(diǎn)陣圖文檔,并將上述的點(diǎn)陣圖文檔的文檔名稱當(dāng)作參數(shù)傳送至應(yīng)用程序,或?qū)⒂跋駭?shù)據(jù)緩沖器及影像結(jié)束的信息傳回給上層影像處理軟件;(j)當(dāng)找到上述的掃描影像的結(jié)尾線條時,傳送一控制信號至上述掃描器,以停止掃描。
本發(fā)明的另一種影像實(shí)時自動裁剪方法是這樣實(shí)現(xiàn)的包含有下列步驟(a)在部分影像區(qū)塊中尋找首次出現(xiàn)的有效影像數(shù)據(jù),并將該首次出現(xiàn)的有效影像數(shù)據(jù)寫入一點(diǎn)陣圖的檔素中,并累計該首次出現(xiàn)的有效影像數(shù)據(jù)的線數(shù);(b)計算該首次出現(xiàn)的有效影像數(shù)據(jù)的寬度;(c)重新設(shè)定掃描器的掃描寬度,以讀取后續(xù)的影像數(shù)據(jù);(d)執(zhí)行每一部分影像區(qū)塊的橫向取樣,以判定部分影像區(qū)塊是否包含結(jié)尾的線條;(e)依序讀取該掃描器所傳送來的影像區(qū)塊直到讀取到該掃描影像的結(jié)尾線條,并直接將該有效的影像數(shù)據(jù)寫入該點(diǎn)陣圖文檔中,及累計該有效影像數(shù)據(jù)的線條數(shù),或?qū)⒂跋駭?shù)據(jù)緩沖器及影像結(jié)束的信息,傳回給上層影像處理軟件;(f)設(shè)定該最后累計的線條數(shù)為原稿的長度,并將該長度及寬度寫入一點(diǎn)陣圖文檔的表頭中,或通知上層影像處理軟件結(jié)束影像數(shù)據(jù)的讀取,以完成裁剪范圍的設(shè)定;(g)關(guān)閉該點(diǎn)陣圖文檔,并將該點(diǎn)陣圖文檔的文檔名稱當(dāng)作參數(shù),傳送至應(yīng)用程序或數(shù)據(jù)來源;以及(h)傳送一控制信號至該掃描器,以停止掃描。
當(dāng)上述的有效影像數(shù)據(jù)的圖素的色階值都大于一設(shè)定的R,G,B值時,判定該圖素為有效。
上述的步驟(b)包含有下列步驟記錄有效的影像數(shù)據(jù)的每一條橫線的起始位置于第一陣列;記錄有效的影像數(shù)據(jù)的每一條橫線的結(jié)束位置于第二陣列;執(zhí)行該第一陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述有效影像數(shù)據(jù)的起始頂點(diǎn)座標(biāo);以及執(zhí)行該第二陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述有效影像數(shù)據(jù)的終止頂點(diǎn)座標(biāo)。
上述的步驟(d)包含有下列步驟設(shè)定多個取樣線區(qū)域,及該每個取樣線區(qū)域包含多條的影像;以一設(shè)定的間距,讀取該多個取樣線區(qū)域;當(dāng)判定該設(shè)定的間距所讀取的有效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)橛行?;以及?dāng)判定該設(shè)定的間距所讀取的無效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)闊o效,上述的寬度及長度的設(shè)定是依據(jù)點(diǎn)陣圖的文檔格式而設(shè)定。
上述的影像實(shí)時自動裁剪方法,包含有下列步驟當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述的第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo),及有效線條的數(shù)目,填入一設(shè)定的參數(shù),并將該參數(shù)傳回至上層影像處理軟件;當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù);當(dāng)上述的線區(qū)域?yàn)榈谝淮稳樱矣跋駭?shù)據(jù)都為有效時,且使用TWAIN模組外的用戶介面存取,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù)。
上述的影像實(shí)時自動裁剪方法,包含有下列步驟當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述的第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo)、有效線條的數(shù)目、及文檔結(jié)束的數(shù)據(jù),傳回至上層影像處理軟件,并同時通知掃描器停止掃描;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用TWAIN模組外的用戶介面存取,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭以及結(jié)束文檔,并通知掃描器以停止掃描。
本發(fā)明主要提出一種可實(shí)時找出掃描文件的影像寬度及長度的方法,以設(shè)定裁剪范圍,并同時將掃描的影像數(shù)據(jù)寫入點(diǎn)陣圖的文檔中,或?qū)⒂跋窬彌_器數(shù)據(jù)傳回上層影像處理軟件,因而可省去預(yù)掃程序。本發(fā)明包含有步驟當(dāng)影像從掃描器逐次傳送一設(shè)定的影像區(qū)塊至緩沖器時,搜尋首次出現(xiàn)的有效影像數(shù)據(jù)。然后,從該有效影像數(shù)據(jù)中尋找其左右頂點(diǎn)的座標(biāo),以計算其寬度。然后將寬度的數(shù)據(jù)傳送給掃描器,掃描器便可依據(jù)寬度重新設(shè)定掃描的寬度,并掃描剩余的影像數(shù)據(jù)。每當(dāng)掃描器傳送影像數(shù)據(jù)至緩沖器時,底層的驅(qū)動程序同時會傳送表示此次所傳送的有效影像數(shù)據(jù)的影像線條數(shù)。因此,累計每次所得的線條數(shù),便可得知有效影像數(shù)據(jù)的長度。同時,為得知影像結(jié)尾的位置,以橫向取樣的方法,在緩動器中的每一影像區(qū)塊中搜尋原稿影像的結(jié)尾。當(dāng)判定原稿影像結(jié)尾的線條時,傳送控制信號至掃描器以停止掃描,并將所得到的長寬寫入點(diǎn)陣圖文檔的表頭中,或?qū)⒂跋窬彌_器數(shù)據(jù)傳回上層影像處理軟件,以完成影像裁剪大小的設(shè)定。


圖1為本發(fā)明與應(yīng)用程序及TWAIN溝通掃描器的結(jié)構(gòu)示意圖。
圖2為一掃描數(shù)據(jù)的示意圖。
圖3為一有效區(qū)塊的起始座標(biāo)及結(jié)束座標(biāo)的示意圖。
圖4-圖5為本發(fā)明的有效區(qū)塊的寬度計算陣列示意圖。
圖6為顯示本發(fā)明的尋找文件結(jié)尾的方法示意圖。
圖7-圖11為顯示本發(fā)明的尋找有效區(qū)塊位置的方法示意圖。
本發(fā)明的結(jié)構(gòu)如圖1所示。本發(fā)明的影像的實(shí)時自動裁剪可分為包含于TWAIN模組中的TWAIN用戶介面存取142及TWAIN模組外的用戶介面存取12兩種。TWAIN模組外的用戶介面存取12被一應(yīng)用程序11所呼叫,并通過TWAIN 13(Technology Without an Important[Interesting]Name)的介面,以讀取來自掃描器15的影像數(shù)據(jù)。在TWAIN模組外的用戶介面存取12時,因TWAIN的介面標(biāo)準(zhǔn)中無法設(shè)定自動選取掃描范圍的常數(shù),因此,本發(fā)明的方法提供一TWAIN模組外的用戶介面存取12的實(shí)時自動裁剪模組121,以供用戶在影像應(yīng)用程序11之下,仍能利用本發(fā)明的方法,以對單一形狀的物件執(zhí)行影像的實(shí)時自動裁剪。如此,在開啟一應(yīng)用程序11時,若要在該應(yīng)用程序11中同時直接掃描圖片或文件的影像時,便可藉由TWAIN 13的驅(qū)動程序,作為應(yīng)用程序11及掃描器15硬件之間的介面。來自掃描器15的影像數(shù)據(jù)便暫存在數(shù)據(jù)來源14(data source)中,以供TWA1N13驅(qū)動程序的讀取。
另外,在包含于TWAIN模組中的TWAIN用戶介面存取142的情況下,由于不需經(jīng)過TWAIN下指令(Command),所以本發(fā)明可直接藉由設(shè)定掃描范圍的方法,取得有效的掃描區(qū)域的大小。本發(fā)明提供一包含于TWAIN模組中的TWAIN用戶介面存取142的實(shí)時自動裁剪模組141,在數(shù)據(jù)來源14提供用戶直接執(zhí)行實(shí)時自動裁剪。TWAIN模組外的用戶介面存取12的自動裁剪模組121及包含于TWAIN模組中的TWAIN用戶介面存取142的實(shí)時自動裁剪模組141除了設(shè)定的方式不同外,在得到由掃描器15所傳回的影像數(shù)據(jù)后的處理演算法(Algorithm)及方法都是相同的。
由于本發(fā)明的目的是實(shí)時取得掃描物件的大小,而非從預(yù)掃的影像數(shù)據(jù)中去判斷掃描物件的大小,因此,本發(fā)明的方法、在從掃描器15讀取影像的數(shù)據(jù)時,必需同時獲知原稿的影像的大小,并可在掃描完畢時,完成原稿的大小設(shè)定。來自掃描器15的影像數(shù)據(jù)暫存在一緩沖器中,以作為后續(xù)處理之用。緩沖器中的圖素依據(jù)藍(lán)、綠、紅的顏色依續(xù)排列,每個顏色各占一比特組。
為防止一次讀取太多無效的影像數(shù)據(jù),本發(fā)明每次只讀取N分之1的部分影像區(qū)塊,直到找到有效的影像數(shù)據(jù)。所謂最大范圍的N分之1是指掃描器所能掃描的平面中,寬度取最大寬度,而高度取該平面的N分之1。N為一預(yù)設(shè)值,例如5,設(shè)定完后,程序收到掃描器15所傳回的N分之1的掃描范圍信息,直到找到有效的影像數(shù)據(jù)。
為得知原稿的大小,必需在掃描的同時判定并計算原稿的長度及寬度。在寬度的取得方面,本發(fā)明先宣告一暫存區(qū)塊。暫存區(qū)塊為一存儲空間,以紀(jì)錄從掃描器15所傳回的緩沖器中的每一個部分影像區(qū)塊的圖素的有效值或無效值。如果圖素的R、G、B值小于一特定的色階,則該圖素便判定為無效。如果緩沖器中的圖素都為無效,則緩沖器中的所有數(shù)據(jù)便需舍棄。繼續(xù)接收由掃描器15傳送的剩余影像區(qū)塊至緩沖器。若該N分之一的影像已傳送完畢,將再設(shè)定掃描器15繼續(xù)掃描下一個N分之一的部分影像區(qū)塊至緩沖器。如此,再次判斷緩沖器中部分影像區(qū)塊的圖素的有效值,直到其中出現(xiàn)了有效的影像數(shù)據(jù)。
有效的影像數(shù)據(jù)是指在裁剪范圍(crop range)內(nèi)的有效圖素。為正確地判定有效的影像數(shù)據(jù)范圍,本發(fā)明先去除雜訊。如果圖素的R,G,B色階大于一特定的色階,且其四周的連續(xù)的圖素少于K個(此例中K=4),則判定該圖素為雜訊,并去除之。如圖2所示,圖素a,b,c,d,e分別表示色階大于60的圖素,且非連續(xù)地排列;因此便判定為雜訊。在雜訊移除后,在暫存區(qū)塊中該影像區(qū)塊31中的有效影像數(shù)據(jù)32便如圖3所示。
由于有效影像數(shù)據(jù)32的影像起始處輿左右邊在圖素的層次而言,并非整齊地排列,因此,便以其平均四舍五入后的位置當(dāng)作有效影像數(shù)據(jù)32的第一縱列(column)及最后一橫排(row)的位置。也就是,將每一橫排(row)的第一個圖素位置的平均四舍五入后的位置,當(dāng)作有效影像數(shù)據(jù)32的左邊位置。將每一橫排(row)的最后一個圖素位置的四舍五入后的平均位置,當(dāng)作有效影像數(shù)據(jù)32的右邊位置。如此,以平均法判斷有效影像數(shù)據(jù)32每一橫排的起點(diǎn)與終點(diǎn)的位置。建立一陣列41,如圖4所示,以記錄每一橫排的第一個有效值的起始位置(以圖素為單位)。圖4中的陣列包含掃描影像上方的所有值,如第一橫排起始處填“0”,終止處也填“0”。在有效形像數(shù)據(jù)32起始前方應(yīng)都為無數(shù)據(jù),故兩陣列中的起點(diǎn)座標(biāo)與終點(diǎn)座標(biāo)都為“0”,而在有效影像數(shù)據(jù)32起始附近的區(qū)域,可能因邊緣會參差不齊,故陣列起點(diǎn)終點(diǎn)與其它一般的值差異性較大,因而舍棄最先前幾橫排取出圖片的起始處。例如,舍棄最前面兩橫排的數(shù)據(jù),即“7”與“5”,而從之后的有效影像數(shù)據(jù)32開始計算一設(shè)定值的數(shù)據(jù),如50橫排當(dāng)作影像的有效影像數(shù)據(jù)32的區(qū)塊。并以“3”當(dāng)作有效值的起始位置。然后,將每個起始位置作平均值的計算,并將其四舍五入后所得的值作為有效區(qū)塊的起始位置。
同理,建立另一陣列42,以記錄每一橫排的最后一個有效值的終止位置(以圖素為單位),如圖5所示。拾棄最前面兩橫排的數(shù)據(jù),即“17”輿“20”,而從之后的“21”的有效影像數(shù)據(jù)32開始計算一設(shè)定值的數(shù)據(jù)。例如,“21”表示最后一個有效的圖素位置在第21個圖素。同樣,將陣列42中所記錄的每個終止位置,計算其平均值,并以四舍五入后所得的值作為該有效影像數(shù)據(jù)32的終止位置。
由所求出的有效區(qū)塊的終止位置減去有效區(qū)塊的起始位置,便等于有效影像數(shù)據(jù)32的寬度。所得到的寬度便傳送至掃描器15,以重新設(shè)定掃描物件的掃描范圍。由于寬度已設(shè)定完畢,暫存區(qū)塊的存儲空間便可釋出。
首次出現(xiàn)的有效影像數(shù)據(jù)32將寫入點(diǎn)陣圖文檔中。同時,底層所傳回的參數(shù)中有標(biāo)示此次影像數(shù)據(jù)緩沖器中儲存了幾條線的數(shù)據(jù)。將參數(shù)減去有效區(qū)塊的起始位置,并把結(jié)果存入計數(shù)器,記錄并累計影像的線條數(shù)。由于掃描仍在進(jìn)行中,掃描的原稿的長度尚無法得知,因此本發(fā)明以橫向取樣的方式判斷掃描物件的影像的終止位置。在實(shí)施上,有許多種可能的作法。本發(fā)明以橫向取樣的方式讀取每一掃描區(qū)塊內(nèi)的影像數(shù)據(jù),如圖6所示。
首先,將影像看料緩沖器所傳回來的每一掃描區(qū)塊分為四個線區(qū)域,第一個線區(qū)域51為緩沖器的起始部分,最后一個線區(qū)域54為緩沖器最后的部分,中間兩個線區(qū)域52,53則平均分布于影像數(shù)據(jù)緩沖器中間。每個線區(qū)域包含了三條線。假設(shè)n為有效區(qū)域的線條總數(shù),則每個線區(qū)域之間所間隔的線條數(shù)m便可由以下計算公式計算出來[n-(4*3)]÷3=m。
接著,檢查每個線區(qū)域中每條線的圖素的有效值。每隔十分之一的距離,取其圖素來檢查其圖素的值是否為無效值。其判定方式是依據(jù)以下的準(zhǔn)則(1)如果此條線區(qū)域所含的無效值的圖素超過90%,也就是圖素的R、G、B值都小于60色階,則判定此條線區(qū)域?yàn)闊o效線,并標(biāo)為無效(FALSE)。
(2)若此條線區(qū)域所含的無效值的圖素低于90%,則需作第二次檢查。此次取樣的圖素為將第一次取樣的圖素向右位移一設(shè)定的距離,如第一次檢查中兩點(diǎn)間距離的三分之一,然后執(zhí)行如步驟(1)的判定。例如,假設(shè)最多只檢查三次,第一次由第一個圖素的位置開始,第二次的檢查由第3個圖素的位置開始,依此類推。如果無效的圖素仍然超過90%,便判定此線區(qū)域?yàn)闊o效。
(3)如果步驟(2)的線區(qū)域所含的無效值的圖素仍低于90%,則將此次取樣的圖素設(shè)定為將第二次取樣的圖素向右位移一設(shè)定的距離,如第一次檢查中兩點(diǎn)間距離的三分之一,然后執(zhí)行如步驟(1)及步驟(2)的判定。
在將每個線區(qū)域檢查之后,便可依據(jù)最后所得的結(jié)果來判定該線區(qū)域是否為原稿影像結(jié)尾的部分,如圖7~圖11所示。
若四個線區(qū)域都為有效,如圖7所示,則表示此次緩沖器所傳回的影像數(shù)據(jù)(Image Data)都為有效值。若此次為第一次取樣的線區(qū)域,且使用包含于TWAIN模組中的TWAIN用戶介面存取142,并選擇直接從掃描器傳回緩沖器數(shù)據(jù),便將緩沖器中有效區(qū)域的暫存器指標(biāo),及將此次有效線條的數(shù)目,重新填入原本底層所傳回的有標(biāo)示此次影像數(shù)據(jù)緩沖器中儲存了幾條線的數(shù)據(jù)的參數(shù),傳回給上層的影像處理軟件。
若使用包含于TWAIN模組中的TWAIN用戶介面存取142,并選擇傳回一影像文檔,或是使用TWAIN模組外的用戶介面存取12,則將數(shù)據(jù)寫入文檔中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù)。
若此次為逐次橫向取樣后所分割的線區(qū)域,則表示在此劃分線區(qū)域以下為無效區(qū),影像達(dá)到結(jié)尾處。若使用包含于TWAIN模組中的TWAIN用戶介面存取142并選擇直接從掃描器傳回緩沖器數(shù)據(jù),便將緩沖器中有效區(qū)域的暫存器指標(biāo)、此次有效線條的數(shù)目及圖片文檔結(jié)束的信息等參數(shù)填好,并傳回給上層的影像處理軟件,同時通知掃描器停止掃描。
若便用包含于TWAIN模組中的TWAIN用戶介面存取142并選擇傳回一影像文檔,或是使用TWAIN模組外的用戶介面存取12,累計此次所傳回的線條數(shù),填妥點(diǎn)陣圖文檔的表頭(Bitmap,file header),并結(jié)束文檔,然后通知掃描器以停止掃描。
若四個線區(qū)域都為無效,如圖8所示,則表示此次所傳回的影像數(shù)據(jù)都為無效值,因此不處理此次的數(shù)據(jù)。若此次為第一次分割的線區(qū)域,且使用包含于TWAIN模組中的TWAIN用戶介面存取142,并選擇直接從掃描器傳回緩沖器數(shù)據(jù),便將圖片文檔結(jié)束的參數(shù)填好,并傳回給上層的影像處理軟件,同時通知掃描器停止掃描。若使用包含于TWAIN模組中的TWAIN用戶介面存取142,并選擇傳回一影像文檔,或是使用TWAIN模組外的用戶介面存取12,填妥點(diǎn)陣圖文檔的表頭(Bitmap file header),并結(jié)束文檔,然后通知掃描器以停止掃描。
若此次為逐次橫向取樣后最后所分割的線區(qū)域,則表示在此劃分線區(qū)域以前為有效區(qū),影像達(dá)到結(jié)尾處。若使用包含于TWAIN模組中的TWAIN用戶介面存取142,并選擇直接從掃描器傳回緩沖器數(shù)據(jù),便將緩沖器中有效區(qū)域的暫存器指標(biāo)、此次有效線條的數(shù)目及圖片文檔結(jié)束的信息等參數(shù)填好,并傳回給上層的影像處理軟件,同時通知掃描器停止掃描。
若使用包含于TWAIN模組中的TWAIN用戶介面存取142,并選擇傳回一影像文檔,或是使用TWAIN模組外的用戶介面存取,累計此次所傳回的線系數(shù),填妥點(diǎn)陣圖文檔的表頭(Bitmap file header),并結(jié)束文檔,然后通知掃描器以停止掃描。
若線區(qū)域61、62為有效,而線區(qū)域63、64為無效,如圖9所示,則原稿的影像結(jié)尾將會出現(xiàn)在線區(qū)域62、63之間。在此情況下,需在線區(qū)域62、63之間再以先前的橫向取樣方式搜尋,直到找到原稿的影像結(jié)尾。而找到結(jié)尾的線條后,累計此次的有效線條數(shù)。
若線區(qū)域是有效值及無效值相互參雜,如圖10所示,則以無效值為基準(zhǔn),因?yàn)槿羰堑竭_(dá)原稿的影像結(jié)尾,則其影像數(shù)據(jù)會呈現(xiàn)色調(diào)一致的黑線(全為無效值),而非相互參雜。然后,以全為無效值的線區(qū)域和其前面一個線區(qū)域間再以同樣方式尋找原稿影像的結(jié)尾。以圖10為例,原稿影像的結(jié)尾便是在線區(qū)域65、66之間。如此,在線區(qū)域65、66之間再以先前的方式搜尋,直到找到圖片結(jié)束的線條。而找到結(jié)尾的線條后,再累計此次的有效線條數(shù)。
另一種情形如圖11所示,線區(qū)域全為有效及無效值參雜。則將此次所傳回的影像數(shù)據(jù)判定為都為有效值,其處理方式與四個線區(qū)域都為有效值的處理方式相同。
于是,本發(fā)明便可實(shí)時地讀取原稿的影像數(shù)據(jù),因?yàn)橛跋駭?shù)據(jù)已在掃描時同步地寫入點(diǎn)陣圖的文檔中,或?qū)⒂跋窬彌_器數(shù)據(jù)傳回上層的影像處理軟件。而且,本發(fā)明只讀取有效的影像數(shù)據(jù),因?yàn)樵谠逵跋竦膶挾却_定后,掃描器便重新設(shè)定掃描的范圍,以更進(jìn)一步免除讀取不必要的影像數(shù)據(jù),以節(jié)省處理時間與無效數(shù)據(jù)的傳送。
由于本發(fā)明的方法可免除預(yù)掃的程序,因此在掃描單一尺寸且數(shù)量多的原稿的情況下,其掃描的效率尤為顯著。但由于原稿的寬度必需一次設(shè)定完成,所以本發(fā)明的方法并不適用于原稿歪斜放置的情況。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,且已經(jīng)達(dá)到廣泛的實(shí)用功效,凡依本發(fā)明申請專利范圍所作的均等變化與修飾,都屬于本發(fā)明專利涵蓋的范國內(nèi)。
權(quán)利要求
1.一種實(shí)時影像自動裁剪方法,其特征在于包含有下列步驟(a)依序讀取來自掃描器的每一部分影像區(qū)塊,直至該部分影像區(qū)塊中出現(xiàn)有效的影像數(shù)據(jù),并儲存該部分影像區(qū)塊于第一存儲裝置中;(b)記錄該第一存儲裝置中的部分影像區(qū)塊的每一圖素的屬性于第二存儲裝置中,直至該部分影像區(qū)塊中出現(xiàn)有效的影像數(shù)據(jù),及該圖素的屬性表示該圖素為有效或無效;(c)在找到該首次出現(xiàn)的有效的影像數(shù)據(jù)時,計算該有效的影像數(shù)據(jù)的左頂點(diǎn)座標(biāo)及右頂點(diǎn)座標(biāo);(d)執(zhí)行每一部分影像區(qū)塊的橫向取樣,以判定部分影像區(qū)塊是否包含結(jié)尾的線條;(e)依據(jù)該第二存儲裝置中該有效的影像數(shù)據(jù)的左頂點(diǎn)座標(biāo)及右頂點(diǎn)座標(biāo),計算該有效的影像數(shù)據(jù)的寬度,并累計該首次出現(xiàn)的有效影像數(shù)據(jù)的線數(shù);(f)依據(jù)該步驟(e)所計算的寬度,重新設(shè)定掃描器的掃描寬度;(g)依序讀取該掃描器所傳送來的影像區(qū)塊,直到讀取到該掃描影像的結(jié)尾線條,并直接將該有效的影像數(shù)據(jù)寫入該點(diǎn)陣圖文檔中,及累計該有效影像數(shù)據(jù)的線條數(shù),或?qū)⒂跋駭?shù)據(jù)緩沖器及影像結(jié)束的信怠,傳回給上層影像處理軟件;以及(h)設(shè)定該最后累計的線條數(shù)為原稿的長度,并將該長度及寬度寫入一點(diǎn)陣圖文檔的表頭中,或通知上層影像處理軟件結(jié)束影像數(shù)據(jù)的讀取,以完成裁剪范圍的設(shè)定。
2.如權(quán)利要求1所述的實(shí)時影像自動裁剪方法,其特征在于上述的步驟(b)包含下列步驟當(dāng)上述圖素的色階值小于上述的設(shè)定值時,判定該圖素為無效;以及當(dāng)上述圖素的色階值大于上述的臨界值時,判定該圖素為有效。
3.如權(quán)利要求1所述的實(shí)時影像自動裁剪方法,其特征在于上述的步驟(c)包含下列步驟記錄有效的影像數(shù)據(jù)的每一條橫線的起始位置于第一陣列;記錄有效的影像數(shù)據(jù)的每一條橫線的結(jié)束位置于第二陣列;執(zhí)行該第一陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述有效影像數(shù)據(jù)的起始頂點(diǎn)座標(biāo);以及執(zhí)行該第二陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述的有效影像數(shù)據(jù)的終止頂點(diǎn)座標(biāo)。
4.如權(quán)利要求1所述的實(shí)時影像自動裁剪方法,其特征在于上述的步驟(d)包含步驟設(shè)定多個取樣線區(qū)域,及該每個取樣線區(qū)域包含多條的影像;以一設(shè)定的間距,讀取該多個取樣線區(qū)域;當(dāng)判定該設(shè)定的間距所讀取的有效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)橛行?;以及?dāng)判定該設(shè)定的間距所讀取的無效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)闊o效。
5.如權(quán)利要求1所述的實(shí)時影像自動裁剪方法,其特征在于上述的寬度及長度的設(shè)定是依據(jù)點(diǎn)陣圖的文檔格式而設(shè)定。
6.如權(quán)利要求4所述的實(shí)時影像自動裁剪方法,其特征在于更包含下列步驟當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo),及有效線條的數(shù)目,填入一設(shè)定的參數(shù),并將該參數(shù)傳回至一影像處理軟件;當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù);當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用TWAIN模組外的用戶介面存取,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù)。
7.如權(quán)利要求4所述的實(shí)時影像自動裁剪方法,其特征在于更包含有下列步驟當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述的第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo)、有效線條的數(shù)目,及文檔結(jié)束的數(shù)據(jù),傳回至一影像處理軟件,并同時通知掃描器停止掃描;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用TWAIN模組外的用戶介面存取,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭;以及結(jié)束文檔,并通知掃描器停止掃描。
8.如權(quán)利要求1所述的實(shí)時影像自動裁剪方法,其特征在于更包含有下列步驟(i)關(guān)閉上述的點(diǎn)陣圖文檔,并將上述的點(diǎn)陣圖文檔的文檔名稱當(dāng)作參數(shù)傳送至應(yīng)用程序,或?qū)⒂跋駭?shù)據(jù)緩沖器及影像結(jié)束的信息傳回給上層影像處理軟件;(j)當(dāng)找到上述的掃描影像的結(jié)尾線條時,傳送一控制信號至上述掃描器,以停止掃描。
9.一種實(shí)時影像自動裁剪方法,其特征在于包含有下列步驟(a)在部分影像區(qū)塊中尋找首次出現(xiàn)的有效影像數(shù)據(jù),并將該首次出現(xiàn)的有效影像數(shù)據(jù)寫入一點(diǎn)陣圖的檔素中,并累計該首次出現(xiàn)的有效影像數(shù)據(jù)的線數(shù);(b)計算該首次出現(xiàn)的有效影像數(shù)據(jù)的寬度;(c)重新設(shè)定掃描器的掃描寬度,以讀取后續(xù)的影像數(shù)據(jù);(d)執(zhí)行每一部分影像區(qū)塊的橫向取樣,以判定部分影像區(qū)塊是否包含結(jié)尾的線條;(e)依序讀取該掃描器所傳送來的影像區(qū)塊直到讀取到該掃描影像的結(jié)尾線條,并直接將該有效的影像數(shù)據(jù)寫入該點(diǎn)陣圖文檔中,及累計該有效影像數(shù)據(jù)的線條數(shù),或?qū)⒂跋駭?shù)據(jù)緩沖器及影像結(jié)束的信息,傳回給上層影像處理軟件;(f)設(shè)定該最后累計的線條數(shù)為原稿的長度,并將該長度及寬度寫入一點(diǎn)陣圖文檔的表頭中,或通知上層影像處理軟件結(jié)束影像數(shù)據(jù)的讀取,以完成裁剪范圍的設(shè)定;(g)關(guān)閉該點(diǎn)陣圖文檔,并將該點(diǎn)陣圖文檔的文檔名稱當(dāng)作參數(shù),傳送至應(yīng)用程序或數(shù)據(jù)來源;以及(h)傳送一控制信號至該掃描器,以停止掃描。
10.如權(quán)利要求9所述的實(shí)時影像自動裁剪方法,其特征在于當(dāng)上述的有效影像數(shù)據(jù)的圖素的色階值都大于一設(shè)定的R,G,B值時,判定該圖素為有效。
11.如權(quán)利要求9所述的實(shí)時影像自動裁剪方法,其特征在于上述的步驟(b)包含有下列步驟記錄有效的影像數(shù)據(jù)的每一條橫線的起始位置于第一陣列;記錄有效的影像數(shù)據(jù)的每一條橫線的結(jié)束位置于第二陣列;執(zhí)行該第一陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述有效影像數(shù)據(jù)的起始頂點(diǎn)座標(biāo);以及執(zhí)行該第二陣列起始位置后的所有儲存的值的平均計算,及該平均計算所得的值為上述有效影像數(shù)據(jù)的終止頂點(diǎn)座標(biāo)。
12.如權(quán)利要求9所述的實(shí)時影像自動裁剪方法,其特征在于上述的步驟(d)包含有下列步驟設(shè)定多個取樣線區(qū)域,及該每個取樣線區(qū)域包含多條的影像;以一設(shè)定的間距,讀取該多個取樣線區(qū)域;當(dāng)判定該設(shè)定的間距所讀取的有效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)橛行?;以及?dāng)判定該設(shè)定的間距所讀取的無效圖素超出一設(shè)定數(shù)時,判定該線區(qū)域?yàn)闊o效。
13.如權(quán)利要求9所述的實(shí)時影像自動裁剪方法,其特征在于上述的寬度及長度的設(shè)定是依據(jù)點(diǎn)陣圖的文檔格式而設(shè)定。
14.如權(quán)利要求12所述的實(shí)時影像自動裁剪方法,其特征在于更包含有下列步驟當(dāng)上述的線區(qū)域?yàn)榈谝淮稳樱矣跋駭?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述的第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo),及有效線條的數(shù)目,填入一設(shè)定的參數(shù),并將該參數(shù)傳回至上層影像處理軟件;當(dāng)上述的線區(qū)域?yàn)榈谝淮稳?,且影像?shù)據(jù)都為有效時,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù);當(dāng)上述的線區(qū)域?yàn)榈谝淮稳樱矣跋駭?shù)據(jù)都為有效時,且使用TWAIN模組外的用戶介面存取,則將數(shù)據(jù)寫入文檔之中,并累計此次所傳回的線條數(shù),且繼續(xù)接收從掃描器所傳回的影像數(shù)據(jù)。
15.如權(quán)利要求12所述的實(shí)時影像自動裁剪方法,其特征在于更包含有下列步驟當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇直接從掃描器傳回緩沖器數(shù)據(jù)時,將上述的第一存儲裝置中的有效的影像數(shù)據(jù)區(qū)域的指標(biāo)、有效線條的數(shù)目、及文檔結(jié)束的數(shù)據(jù),傳回至上層影像處理軟件,并同時通知掃描器停止掃描;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用包含于TWAIN模組中的TWAIN用戶介面存取,并選擇傳回一影像文檔時,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭;當(dāng)上述的線區(qū)域?yàn)樽詈笠淮稳訒r,且使用TWAIN模組外的用戶介面存取,累計此次所傳回的線條數(shù),并填妥點(diǎn)陣圖文檔的表頭以及結(jié)束文檔,并通知掃描器以停止掃描。
全文摘要
一種實(shí)時影像自動裁剪方法,是掃描器逐次傳送一設(shè)定的影像區(qū)塊至緩沖器時,尋找首次出現(xiàn)的有效影像數(shù)據(jù);從該有效影像數(shù)據(jù)中尋找其左右頂點(diǎn)的座標(biāo),以計算其寬度。再依該寬度數(shù)據(jù)重新設(shè)定掃描寬度和掃描剩余的影像數(shù)據(jù)。每當(dāng)掃描器傳送影像數(shù)據(jù)至緩沖器時,底層驅(qū)動程序同時傳送表示此次所傳送的有效影像數(shù)據(jù)影像線條數(shù)。累計每次所得的線條數(shù),可知有效影像數(shù)據(jù)的長度。并以橫向取樣的方法尋找原稿影像的結(jié)尾,將所得的長寬寫入點(diǎn)陣圖文檔的表頭中,以完成影像裁剪大小的設(shè)定。
文檔編號G06K9/60GK1330348SQ0010928
公開日2002年1月9日 申請日期2000年6月21日 優(yōu)先權(quán)日2000年6月21日
發(fā)明者高啟嘉 申請人:鴻友科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1