• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32的激光投射虛擬鍵盤(pán)設(shè)計(jì)

      2019-05-24 14:21:16朱春華胡軍委鄧淼磊
      無(wú)線互聯(lián)科技 2019年2期
      關(guān)鍵詞:圖像處理攝像頭

      朱春華 胡軍委 鄧淼磊

      摘 要:針對(duì)虛擬鍵盤(pán)設(shè)計(jì)中位置的誤判導(dǎo)致識(shí)別精度低的問(wèn)題,文章研究了虛擬鍵盤(pán)設(shè)計(jì)中的空間坐標(biāo)采集技術(shù),并提出采用手指反射的紅外光來(lái)確定虛擬鍵盤(pán)的空間坐標(biāo)。以STM32作為主處理器,其擁有的I/O口數(shù)量以及具備的高速工作頻率,可以很好地支持?jǐn)z像頭對(duì)圖像的采集和處理;使用激光進(jìn)行鍵盤(pán)圖案的投影,方法簡(jiǎn)單,不需要對(duì)其進(jìn)行額外的程序操作;使用紅外光進(jìn)行按鍵的檢測(cè),相比采用空間坐標(biāo)模塊方案和雙攝像頭方案,更加簡(jiǎn)單、節(jié)約成本;使用攝像頭進(jìn)行圖像的采集,將攝像頭采集到的數(shù)據(jù)進(jìn)行圖像分析,從而實(shí)現(xiàn)其對(duì)手指的準(zhǔn)確定位。采用本文所提出的虛擬鍵盤(pán)設(shè)計(jì)方法,可以實(shí)現(xiàn)可靠的文字編輯等操作。

      關(guān)鍵詞:虛擬鍵盤(pán);激光投射;圖像處理;攝像頭;STM32

      虛擬鍵盤(pán)的出現(xiàn)促進(jìn)了電腦的智能化、小型化發(fā)展[1],近年來(lái),人們不斷地提出新的方法來(lái)解決虛擬鍵盤(pán)的設(shè)計(jì)問(wèn)題,影響虛擬鍵盤(pán)位置的判斷以及識(shí)別精度的關(guān)鍵在于空間坐標(biāo)的采集技術(shù)及相應(yīng)的圖像處理技術(shù)。綜述現(xiàn)有的文獻(xiàn),虛擬鍵盤(pán)的設(shè)計(jì)可分為兩種實(shí)現(xiàn)方法:(1)由特定用途集成電路芯片一起來(lái)構(gòu)成一個(gè)鍵盤(pán)掃描系統(tǒng),利用集成電路芯片所有自有的掃描鍵盤(pán)接口和可編程的邏輯器件來(lái)實(shí)現(xiàn)半虛擬鍵盤(pán)輸入,達(dá)到其對(duì)計(jì)算機(jī)的控制。這種虛擬鍵盤(pán)的實(shí)現(xiàn)方法有點(diǎn)類似于將鍵盤(pán)的材質(zhì)特殊化,通過(guò)縮小傳統(tǒng)鍵盤(pán)的體積來(lái)實(shí)現(xiàn)半虛擬鍵盤(pán),這種方法較為復(fù)雜,并且仍然占據(jù)一定的體積,不便于人們的使用。(2)通過(guò)模塊產(chǎn)生鍵盤(pán)圖案,然后使用三維空間坐標(biāo)定位模塊,來(lái)檢測(cè)對(duì)手指是否按下鍵盤(pán)圖案。這種方法基本上能夠?qū)崿F(xiàn)虛擬鍵盤(pán)的功能,但三維空間坐標(biāo)定位模塊價(jià)格較昂貴,成本太高,不能被人們所接受。本文針對(duì)現(xiàn)在市場(chǎng)上對(duì)于虛擬鍵盤(pán)的迫切需求,設(shè)計(jì)了一套基于單片機(jī)的激光投影虛擬鍵盤(pán)方案,并搭建了對(duì)應(yīng)的實(shí)物,經(jīng)過(guò)測(cè)試,能夠?qū)崿F(xiàn)虛擬鍵盤(pán)的基本要求和功能,并降低了虛擬鍵盤(pán)的成本以及開(kāi)發(fā)難度,提高了可靠性和實(shí)用性。

      1 系統(tǒng)硬件的設(shè)計(jì)

      1.1 系統(tǒng)總體設(shè)計(jì)

      本文提出的虛擬鍵盤(pán)總體設(shè)計(jì)一共由5個(gè)部分組成,分別是STM32F103ZET6主控制器、OV7670攝像頭模塊、激光鍵盤(pán)顯示模塊、一字線性紅外光發(fā)射模塊和2.8寸TFT LCD模塊。其系統(tǒng)設(shè)計(jì)的結(jié)構(gòu)如圖1所示。

      圖1中,選用STM32F103ZET6單片機(jī)作為主控制器,以求其能夠達(dá)到滿足模塊需求的I/O數(shù)量口和滿足攝像頭進(jìn)行圖像處理的高速工作頻率,使其能夠支持對(duì)攝像頭的連接和圖像的處理;選用OV7670攝像頭模塊作為鍵盤(pán)圖案的采集,因?yàn)槠渚邆浼t外光采集的能力和具有一定的視野范圍,能夠采集到鍵盤(pán)圖像;選用激光鍵盤(pán)顯示模塊來(lái)顯示鍵盤(pán)圖案,是利用了激光具有相干性好、亮度高、傳播距離遠(yuǎn)的特點(diǎn)[2],即使在外界環(huán)境光強(qiáng)較大時(shí),也能顯示出人眼可識(shí)別圖形;選用一字線性紅外光發(fā)射模塊來(lái)作為手指觸發(fā)按鍵的檢測(cè)模塊,它能夠排除可見(jiàn)光以及激光的影響,做到更精準(zhǔn)定位手指的位置;選擇2.8寸TFT LCD模塊作為顯示模塊,顯示模塊不僅可以顯示攝像頭采集到的原圖案,還能夠顯示經(jīng)過(guò)STM32處理后的二值化圖案,調(diào)試結(jié)束后,還可以使用顯示模塊顯示手指按下的按鍵信息。

      1.2 STM32F103ZET6微處理器

      STM32F103ZET6是以Cortex‐M3作為內(nèi)核的一個(gè)32位單片機(jī),同ARM7型處理器相比,STM32F103ZET6擁有執(zhí)行速度高、低成本、低功耗等優(yōu)勢(shì)。而且STM32F103ZET6相比其他ARM單片機(jī)開(kāi)發(fā)更加簡(jiǎn)單,這是由于ST官方自己已經(jīng)提供了一套標(biāo)準(zhǔn)的操作STM32F103ZET6底層庫(kù)函數(shù),這就使得大家不再需要記憶、配置眾多的寄存器,而是直接調(diào)用標(biāo)準(zhǔn)的底層庫(kù)函數(shù)就可以達(dá)到配置相關(guān)功能寄存器的目的。這樣不再記憶、操作底層的寄存器,就使得開(kāi)發(fā)者大大減少學(xué)習(xí)時(shí)間,節(jié)省了開(kāi)發(fā)的成本,提高了開(kāi)發(fā)的效率[3]。

      STM32F103ZET6外部共有144個(gè)引腳,其中有112個(gè)高速I(mǎi)/O引腳,并且它外部資源的可擴(kuò)展性非常好,其外部擴(kuò)展方便、多樣,應(yīng)用自然就是極其強(qiáng)大。另外,STM32F103ZET6的內(nèi)部資源也十分豐富,在可接外設(shè)引腳多的情況下,每個(gè)外部引腳都對(duì)應(yīng)有它們各自獨(dú)特的功能。速度方面,由于其外部擴(kuò)展8 MHz的晶振,內(nèi)部進(jìn)行倍頻之后,最高可達(dá)72 MHz的運(yùn)行速度,相比較51單片機(jī)最高40 MHz足足提升了近一倍。由于其在功耗低的情況下,運(yùn)行速度仍然快速,這是它應(yīng)用非常廣泛的最主要的原因。

      1.3 OV7670攝像頭模塊設(shè)計(jì)

      OV7670攝像頭模塊具有體積小、工作電壓低,能夠產(chǎn)生VGA和QVGA等圖像功能的特點(diǎn)。OV7670攝像頭模塊是使用SCCB接口來(lái)控制攝像頭命令和數(shù)據(jù)的傳遞,它最大的像素圖片,VGA圖像最高能夠達(dá)到30幀/秒。OV7670攝像頭模塊具備許多圖像處理功能,都可以通過(guò)SCCB接口編程,從而來(lái)提高影像質(zhì)量,得到非常清晰的、穩(wěn)定的彩色圖像。OV7670攝像頭模塊具備許多的特點(diǎn),包括靈敏度高,適合嵌入式場(chǎng)景;具備SCCB接口,并且能夠兼容I2C接口,便于數(shù)據(jù)的傳輸;其可以輸出RawRGB格式和RGB565格式的圖像;支持VGA和QVGA等格式的圖像尺寸[3]。OV7670攝像頭模塊的原理如圖2所示。

      1.4 激光鍵盤(pán)顯示模塊設(shè)計(jì)

      本文采用小功率紅色激光發(fā)生器作為投射光源,并以自主設(shè)計(jì)制作的鍵盤(pán)字模,覆蓋于激光光源表面,激光透過(guò)字模將鍵盤(pán)圖形投射到表面上,從而實(shí)現(xiàn)虛擬鍵盤(pán)的呈現(xiàn)效果。

      1.5 一字線性紅外光發(fā)射模塊設(shè)計(jì)

      將一字線性紅外光發(fā)射模塊置于投影裝置底部,發(fā)射出的一字紅外信號(hào)用于檢測(cè)是否有手指按下。若有手指按下時(shí),紅外線就會(huì)以一定角度被反射,而安置于一字紅外光源上方的攝像頭則會(huì)接收被反射的紅外信號(hào),達(dá)到檢測(cè)手指按下按鍵的目的[4]。

      1.6 2.8寸TFT LCD模塊

      TFT LCD也被叫作真彩液晶顯示器。TFT LCD模塊有許多特點(diǎn):集成度高,在非常小的面積上可以集成很高的像素用來(lái)顯示圖像;成本低,盡管TFT LCD能夠?qū)崿F(xiàn)很高像素的效果,但其工藝性簡(jiǎn)單的特點(diǎn)決定了它的成本很低;應(yīng)用廣泛,TFT LCD被應(yīng)用到生活各個(gè)方面的顯示器上,給人們帶來(lái)了巨大的便利[5]。2.8寸TFT LCD也有許多的優(yōu)點(diǎn),其具備320×240的像素分辨率,支持16位彩色圖像的顯示,支持65K色彩的顯示。TFT LCD模塊的電路原理如圖3所示。

      2 系統(tǒng)軟件的設(shè)計(jì)

      本系統(tǒng)工作的主要流程首先是將各個(gè)模塊進(jìn)行初始化,將其各個(gè)模塊之間進(jìn)行配合,從而達(dá)到實(shí)現(xiàn)總體功能的目的。在本文中,主函數(shù)需要進(jìn)行的初始化包括中斷函數(shù)初始化、延遲函數(shù)初始化、TFT LCD液晶初始化、串口初始化和OV7670攝像頭初始化。然后才會(huì)進(jìn)行攝像頭的數(shù)據(jù)傳輸、圖像處理、按鍵判斷以及按鍵顯示過(guò)程[6]。其工作流程如圖4所示。

      2.1 2.8寸TFT LCD模塊軟件設(shè)計(jì)

      在使用TFT LCD液晶顯示屏?xí)r,首先需要對(duì)其進(jìn)行初始化,才能使LCD液晶正常工作。TFT LCD液晶屏初始化時(shí),首先需要進(jìn)行硬件初始化,包括STM32的GPIO初始化、FSMC初始化、讀取LCD的ID、設(shè)置為豎屏、點(diǎn)亮背光和清屏等操作。然后就可以等待LCD的復(fù)位鍵使能,對(duì)LCD進(jìn)行讀寫(xiě)命令的操作[7]。其讀寫(xiě)操作的流程如圖5所示。

      2.2 OV7670攝像頭模塊軟件設(shè)計(jì)

      在使用OV7670攝像頭模塊時(shí),應(yīng)先對(duì)其進(jìn)行初始化,其初始化流程包括初始化攝像頭與STM32F103ZET6相連接的I/O口;然后通過(guò)I/O口讀取攝像頭的ID編號(hào),如果成功讀取到攝像頭的ID,則說(shuō)明攝像頭的安裝是正確的,否則,說(shuō)明攝像頭安裝錯(cuò)誤;如果攝像頭的安裝正確,之后就會(huì)進(jìn)行OV7670攝像頭相關(guān)寄存器的配置,也就是執(zhí)行初始化的序列;最后就完成了OV7670攝像頭模塊的初始化,就可以對(duì)攝像頭進(jìn)行下一步的操作,例如采集圖像等。

      OV7670攝像頭模塊進(jìn)行圖像采集時(shí),需要先進(jìn)行幀信號(hào)的判斷,即等待幀同步信號(hào),然后將FIFO寫(xiě)指針復(fù)位、寫(xiě)使能,以此循環(huán)往復(fù)就能夠從攝像頭中采集到圖像數(shù)據(jù)。

      經(jīng)過(guò)上述步驟后,OV7670攝像頭已經(jīng)正確地采集到數(shù)據(jù),也就是說(shuō),攝像頭已經(jīng)成功“看到”了圖像,但這只是攝像頭所采集的信息,STM32F103ZET6處理器還沒(méi)有得到圖像的數(shù)據(jù),這是就需要通過(guò)相應(yīng)的處理,從攝像頭的FIFO芯片中得到所需要的圖像數(shù)據(jù)。首先,將FIFO讀指針進(jìn)行復(fù)位,實(shí)現(xiàn)讀FIFO時(shí)鐘的輸出工作,準(zhǔn)備讀取其已經(jīng)緩存的圖像數(shù)據(jù);然后判斷圖像像素的數(shù)據(jù)是否已經(jīng)讀完,如果沒(méi)有讀完,繼續(xù)讀取圖像像素?cái)?shù)據(jù),否則,結(jié)束圖像像素?cái)?shù)據(jù)讀取過(guò)程。在讀取圖像像素?cái)?shù)據(jù)的過(guò)程中,首先需要讀低8位的二進(jìn)制像素?cái)?shù)據(jù),然后讀取高8位的二進(jìn)制像素?cái)?shù)據(jù),這是因?yàn)镾TM32每個(gè)時(shí)鐘只能從攝像頭中讀取8位的二進(jìn)制數(shù)據(jù),而攝像頭圖像像素二進(jìn)制數(shù)據(jù)是16位的,故每個(gè)像素?cái)?shù)據(jù)需要分兩次才能讀取完成[8]。

      2.3 圖像處理軟件設(shè)計(jì)

      經(jīng)過(guò)上述的步驟之后,接下來(lái)就是對(duì)得到的圖像數(shù)據(jù)進(jìn)行分析,也就是進(jìn)行圖像數(shù)據(jù)的處理。圖像處理部分由3部分構(gòu)成,包括圖像像素值進(jìn)行二值化、記錄手指按下的圖像像素值坐標(biāo)和輸出該點(diǎn)對(duì)應(yīng)字符的ASCII碼。

      當(dāng)攝像頭采集到320×240個(gè)像素后,將其保存在一個(gè)二維數(shù)組中,選取其中的一部分像素值求其平均值作為閾值,然后對(duì)每一個(gè)像素和已求得閾值進(jìn)行判斷,大于閾值的重新將其賦值為0xFFFF,小于閾值的賦值為0x0000,這樣就完成了圖像的二值化處理;二值化處理完成后,其大于閾值的像素值的數(shù)組下標(biāo)號(hào)即可作為按下按鍵的坐標(biāo);接下來(lái)對(duì)所得的按鍵坐標(biāo)進(jìn)行判斷,即可得到按鍵對(duì)應(yīng)字符的ASCII碼;最后,只需要將字符的ASCII碼顯示出來(lái),便完成了虛擬鍵盤(pán)的設(shè)計(jì)[9-10]。

      3 實(shí)驗(yàn)結(jié)果

      實(shí)驗(yàn)調(diào)試時(shí),對(duì)LCD初始化后,首先顯示LCD、攝像頭是否初始化正確,如果正確則進(jìn)行下一步,如果錯(cuò)誤則顯示錯(cuò)誤。在調(diào)試過(guò)程中,LCD能夠正常顯示攝像頭采集到的實(shí)時(shí)圖像、二值化圖像、手指按下按鍵的圖像,最終程序能夠在LCD上顯示虛擬按鍵的鍵值。

      OV7670攝像頭模塊已經(jīng)能夠正確地顯示320×240像素的實(shí)時(shí)圖像,可以清晰地采集到鍵盤(pán)的圖案,經(jīng)過(guò)二值化處理后手指的圖像,還有手指按下鍵盤(pán)反射的紅外光的圖像。OV7670攝像頭模塊成功采集到桌面鍵盤(pán)圖案,其調(diào)試結(jié)果如圖6所示。

      本文將采集到的攝像頭圖像進(jìn)行二值化處理,濾除可見(jiàn)光部分,產(chǎn)生僅僅由手指反射到的圖像,通過(guò)這個(gè)圖像便可以對(duì)手指按下的按鍵位置進(jìn)行定位,找到其對(duì)應(yīng)的ASCII碼。本文所制作的實(shí)物顯示以及一個(gè)按鍵的位置坐標(biāo)如圖7所示。

      為了驗(yàn)證激光投影虛擬鍵盤(pán)的可靠性,分別對(duì)虛擬鍵盤(pán)在室外(白天陽(yáng)光下)、室內(nèi)(白天)以及室內(nèi)夜晚3種場(chǎng)景下進(jìn)行測(cè)試。測(cè)試結(jié)果如表1所示。

      4 結(jié)語(yǔ)

      本文提出了一種虛擬鍵盤(pán)的實(shí)現(xiàn)方法,并根據(jù)此方法給出了軟件優(yōu)化和和硬件選擇方案,完成相應(yīng)的制作。所提出的方法以及采用的方案,與現(xiàn)有虛擬鍵盤(pán)設(shè)計(jì)相比,具有成本低、代碼簡(jiǎn)單的優(yōu)點(diǎn)。本文所提出的虛擬儀器設(shè)計(jì)方法也可擴(kuò)展應(yīng)用到其他虛擬技術(shù)上,甚至是實(shí)現(xiàn)立體空間的虛擬技術(shù)上。

      猜你喜歡
      圖像處理攝像頭
      浙江首試公路非現(xiàn)場(chǎng)執(zhí)法新型攝像頭
      攝像頭連接器可提供360°視角圖像
      機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
      電子制作(2018年18期)2018-11-14 01:48:20
      模糊圖像處理,刑事偵查利器
      圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
      奔馳360°攝像頭系統(tǒng)介紹
      Photo Shop通道在圖像處理中的應(yīng)用
      河南科技(2014年1期)2014-02-27 14:04:06
      安裝攝像頭后為何無(wú)法使用耳麥?等
      钟祥市| 尉氏县| 陇南市| 资溪县| 庆云县| 丘北县| 普格县| 西宁市| 渑池县| 庆城县| 西乌珠穆沁旗| 平武县| 永寿县| 金川县| 海口市| 三明市| 沅陵县| 呈贡县| 嵩明县| 顺义区| 开江县| 保定市| 余庆县| 龙胜| 赣州市| 精河县| 锡林郭勒盟| 新密市| 元氏县| 澜沧| 衡水市| 阳西县| 闽侯县| 富阳市| 桐城市| 承德市| 同心县| 蓬安县| 屏南县| 平谷区| 茌平县|