能在投影屏上留下線條的激光筆系統(tǒng)設計,數字圖像處理論文_第1頁
能在投影屏上留下線條的激光筆系統(tǒng)設計,數字圖像處理論文_第2頁
能在投影屏上留下線條的激光筆系統(tǒng)設計,數字圖像處理論文_第3頁
能在投影屏上留下線條的激光筆系統(tǒng)設計,數字圖像處理論文_第4頁
能在投影屏上留下線條的激光筆系統(tǒng)設計,數字圖像處理論文_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

能在投影屏上留下線條的激光筆系統(tǒng)設計,數字圖像處理論文隨著人類進入信息化社會,教學環(huán)境的規(guī)模在不斷擴大。多媒體技術廣泛應用于老師的授課。在使用多媒體技術進行授課的經過中,激光筆作為輔助設備幾乎是每個老師所必備的。當前市場普通的激光筆只能實現翻頁和激光顯示的簡單功能,通常老師都會使用它來投映一個光點到屏幕上指示信息。但是在老師使用激光筆時,若想強調某一處文字,這種普通的激光筆的局限性顯露無遺。普通的激光筆只能起指示作用,卻不能在投影屏幕上留下強調的痕跡,即不能在投影屏上留下線條。而基于圖像處理的劃線激光筆能夠解決這種問題。劃線激光筆的實現原理是:首先使用攝像頭拍攝投影屏幕,獲取整個投影屏幕的圖像,辨別分析出每一幀圖像中光點的位置坐標,再用軟件編程用直線連接前后兩幀光點,實如今投影屏幕上劃線的功能。在激光光點檢測的經過中用到了圖像灰度變換、閾值分割、開運算等圖像預處理方式方法以及質心法求解光點坐標。在軟件部分采用WindowsAPI函數產生具有鼠標穿透效果的透明窗體在劃線的同時仍能夠進行其他鼠標鍵盤操作。本系統(tǒng)在攝像頭前參加綠色濾光片,加強對激光光點辨別的準確率,濾除雜散光,提升了系統(tǒng)的信噪比和準確度。1、系統(tǒng)原理基于圖像處理的劃線激光筆為授課老師提供一種輔助措施,他們在使用多媒體授課時,可在投影屏上進行軌跡繪制,解除傳統(tǒng)激光筆對老師的限制,使教學愈加生動活潑。劃線激光筆的設計遵循實用、便利的原則,使學生和老師都感到自然親切,使投影屏幕具有像黑板一樣能夠寫字的功能。基于圖像處理的劃線激光筆由攝像采集模塊與投影屏幕顯示模塊組成。其系統(tǒng)構造如此圖1所示。老師通過劃線激光筆,在投影屏幕上留下激光光點,由綠色濾波片和攝像頭獲取投影屏幕的圖像,圖像傳輸給授課電腦,電腦通過激光光點辨別算法獲取圖像每一幀中的光點位置,把光點位置變換為光點在投影屏幕的實際位置,進行軌跡繪制。結果通過投影儀在投影屏幕上顯示出來。圖2給出了劃線激光筆的系統(tǒng)流程圖。2、攝像頭的選擇及標定〔1〕攝像頭的選擇系統(tǒng)采用USB2.0攝像頭作為視頻采集裝置。采用標準CS接口的鏡頭,并能夠在鏡頭和攝像頭連接處加裝濾光片?!?〕攝像頭標定由于攝像頭采集的圖像存在畸變,需要對采集到的圖像進行畸變校正;使用時需要辨別出光點位置在投影圖像中的相對坐標,因而需要對系統(tǒng)進行標定。在攝像頭標定的經過中應考慮到攝像頭的徑向畸變,這里所討論的劃線激光筆對于精度的要求不是非常高,受攝像頭徑向畸變所帶來的誤差在實際應用中影響很小。主要考慮由于攝像頭光軸無法垂直于投影屏外表引起的透視畸變。本系統(tǒng)采用校正的模型為:a〔x,y〕=c1x+c2y+c3xy+c4b〔x,y〕=c5x+c6y+c7xy+c8〔1〕華而不實〔x,y〕為校正前圖像坐標,〔a,b〕為校正后圖像坐標。共需要用4對總共8個互相對應的點來求取參數。拍攝圖像,利用圖像的4個角點作為校正參數點。獲取圖像中校正前的校正點圖像坐標,設定其校正后的坐標,建立方程組可求出式〔1〕中的參數c1~c8。則每次在圖像面獲得的坐標〔x,y〕對應投影屏幕中所處的實際坐標為〔X,Y〕華而不實:X=C1x+C2y+C3xy+C4Y=C5x+C6y+C7xy+C8為了獲取圖像平面上4個角點的坐標,使投影屏幕顯示一幅白色背景圖像。攝像頭采集到的圖像經灰度化二值化后獲得邊緣點,并通過邊緣點擬合直線,求出角點坐標。3、圖像預處理圖像經過攝像頭采集后,為了能更好地檢測出光點的位置,在提取坐標之前需要對圖像進行預處理。圖像預處理主要包含:圖像灰度化、閾值分割、二值圖形態(tài)學運算?!?〕圖像分割攝像頭采集到的圖像經過灰度變換后灰度圖中仍含有與光點無關的信息,為了能準確提取光點位置信息,必須去除其他無關的信息。對灰度圖像進行閾值分割轉化為二值圖像,去除無關信息。設一幅圖像f〔x,y〕,其灰度范圍為[t1,t2],假如給定一個閾值Tf〔x,y〕為灰度圖中〔x,y〕點像素的灰度值;T為規(guī)定的閾值;g〔x,y〕為閾值二值化后該點像素值,只能取0或255。本系統(tǒng)采用自定義閾值分割法。自定義閾值分割法通常用在被提取物體與背景灰度值區(qū)別較大的情況。激光筆通常在教室里使用,教室環(huán)境簡單光照均勻,光點與背景亮度存在很大的差異故使用自定義閾值分割會到達較好效果。如此圖5光點灰度直方圖所示。通過觀察發(fā)現光點的灰度值主要集中在歸一化灰度值的0.7以上。故選取0.7作為閾值進行閾值分割?!?〕圖像的形態(tài)學處理圖像經過閾值分割變?yōu)槎祱D以后,二值圖中仍存在少量空洞和噪點,這會干擾對光點坐標的提取,這時需要對圖像進行形態(tài)學處理,使二值圖中最后只保存光點圖像。常見的形態(tài)學運算有腐蝕、膨脹、開運算、閉運算。腐蝕具有收縮圖像和消除圖像中比構造元圖像小的成分的作用。能夠使互相粘連的物體分開,能夠消除圖像中的小顆粒噪聲。膨脹具有擴大圖像或填充比構造元圖像小的成分的作用。連接圖像中相鄰的物體或目的區(qū)域,能夠填充小孔或者狹縫。開運算使用同一個構造元圖像對目的圖像先進行腐蝕運算,再進行膨脹運算。開運算能夠去除較小的亮堂細節(jié),保持整體的灰度級和較大的亮堂區(qū)域不變。閉運算與開運算相反,先進行膨脹運算,再進行腐蝕運算。閉運算能夠去除圖像中暗細節(jié)部分,相對地保持亮堂部分不受影響。經過灰度閾值分割后的圖像如此圖6所示,能夠明顯地看到圖中除含有激光光點外,還含有不少小的顆粒噪聲。通過開運算的方式方法先腐蝕掉圖像中較小的顆粒點而不毀壞光點的完好性,再通過膨脹使光點面積增大便于后續(xù)對其坐標進行提取。經過開運算后的圖像如此圖7所示。與圖6相比只保存了光點的圖像,其他噪聲部分被開運算剔除,并且光點的完好性沒有遭到毀壞。〔3〕質心法提取光點坐標光點每一幀圖像經過預處理之后變?yōu)橹缓泄恻c信息的二值圖像,需要從中提取出激光光點的坐標,采用質心法,提取光點幾何形狀的質心作為光點的坐標。質量中心簡稱質心,指物質系統(tǒng)上被以為質量集中于此的一個假想點。與重心不同的是,質心不一定要在有重力場的系統(tǒng)中。值得注意的是,除非重力場是均勻的,否則同一物質系統(tǒng)的質心與重心通常不在同一假想點上。在一個N維空間中的質量中心,坐標系計算公式為:mi表示物質系統(tǒng)中,某i質點的質量。xi表示物質系統(tǒng)中,某i質點的坐標。對離散化的數字圖像:4、VB與MatLab混合編程劃線激光筆的軟件部分由兩部分組成,即圖像處理部分和劃線部分。圖像處理部分采用MatLab進行編程。MatLab具有強大的圖像處理功能,方便快速實現各類圖像處理算法。劃線部分采用VB語言進行編程。VB作為一門簡單易用的編程語言詣在迅速開發(fā)出應用程序。最后通過VB與MatLab混合編程的方式方法將兩者結合在一起?!?〕MatLab編程基于圖像處理的劃線激光筆圖像處理部分通過MatLab編程實現,主要包含兩個步驟。①視頻對象的開創(chuàng)建立對攝像頭編程需要知道攝像頭的各項參數,因而MatLab的工具箱提供了imaqhwinfo〔〕函數,來獲取PC上以安裝的圖像獲取硬件信息。使用函數obj=videoinput〔adaptorname,deviceID,format〕開創(chuàng)建立視頻輸入對象。②圖像的獲取及坐標計算getsnapshot〔obj〕用于截取圖像。se=strel〔shape,parameters〕進行構造元素的生成。imopen〔image,se〕進行開運算。③質心法根據視頻格式的高和寬產生以高為行,寬為列的兩個大小一樣的矩陣。用生成的兩個矩陣分別與原圖像作積,把作積后的圖像求矩陣和再與原圖像的矩陣和作商計算出坐標值〔x,y〕為質心坐標,即光點坐標?!?〕VB編程VB軟件編程主要包含兩部分,即Windows窗體繪制軌跡與VB、MatLab混合編程部分。通過三個調用WindowsAPI函數GetWindowLong、SetWindowLong與SetLayeredWindowAttributes,實現窗體的透明特性。GetWindowLong〔HWNDhWnd,intnlndex〕函數用于獲得有關指定窗口的信息。SetWindowLong〔HWNDhWnd,intnlndex,LONGdwNewLong〕函數用來改變指定窗口的屬性。SetLayeredWindowAttributes〔HWNDhwnd,COLORREFcrKey,BYTEbAlpha,DWORDdwFlags〕函數為透明窗體函數。bAlpha是不透明度。dwFlags是透明方式,能夠取兩個值:當取值為LWA_ALPHA時,crKey參數無效,bAlpha參數有效;當取值為LWA_COLORKEY時,窗體中的所有顏色為crKey的地方將變?yōu)橥该鳎琤Alpha參數無效。當取兩個值的組合:LWA_ALPHAOrLWA_COLORKEY時,crKey的地方將變?yōu)槿该鳎渌胤礁鶕Alpha參數確定透明度。透明窗體的產生及劃線的實現方式方法:①首先通過GetWindowLong函數獲得窗口初始化的擴展窗口風格。②把WS_EX_LAYERED透明擴展窗口風格賦值給變量。③通過SetWindowLong函數設定窗口的風格設置成透明擴展窗口風格。④獲取之前設定的透明窗體的句柄,利用SetLayeredWindowAttributes函數。將第二個參數掩碼顏色選擇為當下窗體的背景色。當第四個參數值為LWA_COLORKEY時,窗體中的所有顏色為背景色的地方將變?yōu)橥该饕簿褪潜尘白兺该?,此時第三個參數無效。⑤最后通過Move函數使窗體全屏顯示起到一個畫板的功能,同時鼠標能夠穿透窗體執(zhí)行操作。⑥將每次求出的光點坐標傳遞給Line函數。Line函數的功能為用直線連接兩個指定坐標的點。每畫完一條直線將本條直線終點坐標賦值給起點坐標,將終點坐標作為下一條直線的起點坐標,依次連接每個點復原光點所走過的軌跡。軟件界面包含劃線、清屏、停止劃線、調節(jié)顏色、調節(jié)線條粗細等功能。每項功能通過用戶觸發(fā)相應的事件,跳轉到相應的代碼段執(zhí)行操作。在界面窗體裝載時執(zhí)行SetWindowPosWindowsAPI函數。該函數為窗體置頂函數,通過調用該函數能夠使軟件界面窗體保持在所有窗體之上,不會由于鼠標鍵盤事件而被其他窗體覆蓋,愈加人性化,使用戶操作愈加方便。圖9顯示了軟件的界面。〔3〕VB與MatLab混合編程使用MatLab的combuilder工具進行混合編程。com是componentobjectmodule的簡稱,它是一種通用的對象接口,任何語言只要根據這種接口標準,就能夠實現調用,該方式方法實現簡單,通用性強,而且?guī)缀跄軌蚴褂肕atLab的任何函數。這也是Mathworks公司推薦的使用方式方法。MatLab工具箱中提供了deploytool工具。該工具通過C++編譯器將多個M文件以類的形式進行編譯封裝。每個M文件以函數的形式封裝成類方式方法。打包成com組件的形式,即生成dll〔DynamicLinkLibrary〕動態(tài)鏈接庫,供VB調用。混合編程實現的實現方式方法:將上述視頻對象的開創(chuàng)建立、圖像的獲取及坐標計算封裝成類的形式。在VB中聲明類并實例化類的對象。在軟件啟動后調用實例化對象中的視頻對象開創(chuàng)建立方式方法開創(chuàng)建立視頻窗口。在VB中開創(chuàng)建立定時器Timer控件,設置定時器計時時間,當定時器計時溢出時調用對象中的圖像的獲取及坐標計算方式方法計算出坐標傳遞給Line函數劃線。5、結束語系統(tǒng)經過測試,激光筆的響應速度很快,實時性好,能完美處理30幀圖像,繪制出的軌跡線條自然、柔和。劃線激光筆作為輔助教學工具能夠豐富教學手段,使老師授課愈加生動,保證了老師授課的連續(xù)性。通過使用USB攝像頭和綠色濾光片,降低了系統(tǒng)成本,提升了系統(tǒng)辨別率。該系傳統(tǒng)對于顯示設備沒有特殊要求,只需設備能顯示光點的軌跡即可,不會對顯示設備產生其他影響。使用USB攝像頭使該系統(tǒng)具備了即插即用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論