• 
    

    
    

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

      快速不規(guī)則圖廓提取法簡(jiǎn)易激光成像系統(tǒng)探究與實(shí)現(xiàn)

      2021-11-25 02:57:34尤錦江陶辰寧蔡建楠朱思宇陳水橋
      大學(xué)物理實(shí)驗(yàn) 2021年5期
      關(guān)鍵詞:振鏡輪廓灰度

      尤錦江,陶辰寧,蔡建楠,朱思宇,李 炯,陳水橋

      (1.浙江大學(xué) 竺可楨學(xué)院,浙江 杭州 310027;2.浙江大學(xué) 物理學(xué)系,浙江 杭州 310027)

      “激光掃描成像”,指利用平面鏡對(duì)光的反射,讓激光打在屏幕上,形成高速移動(dòng)的光斑。同時(shí),利用人眼的視覺殘留效應(yīng),讓光斑的移動(dòng)軌跡在人眼中形成一個(gè)圖案。

      一般來說,激光掃描都是利用兩片反射鏡來控制激光在兩個(gè)正交方向的反射角度,從而控制光斑的移動(dòng)的。對(duì)于屏幕上任意一個(gè)點(diǎn),可以用直角坐標(biāo)系坐標(biāo)(X,Y)來描述。經(jīng)過數(shù)學(xué)演算,可以將點(diǎn)(x,y)位置信息轉(zhuǎn)化為平面鏡轉(zhuǎn)動(dòng)的角度θ1,θ2,然后通過兩臺(tái)電機(jī)來實(shí)現(xiàn)平面鏡的轉(zhuǎn)動(dòng)[1]。

      本文設(shè)計(jì)了一套基于STM32單片機(jī)和DAC8562數(shù)模轉(zhuǎn)換器的激光成像系統(tǒng)。使用兩臺(tái)伺服電機(jī)分別轉(zhuǎn)動(dòng)兩片平面鏡,實(shí)現(xiàn)激光光斑在X和Y方向的移動(dòng)。先在電腦上確定好激光成像的圖形、編寫相應(yīng)的代碼,然后燒錄到STM32單片機(jī)上,利用單片機(jī)產(chǎn)生坐標(biāo)的數(shù)字信號(hào),再用DAC8562數(shù)模轉(zhuǎn)換器將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),再將模擬信號(hào)輸給振鏡電機(jī),從而實(shí)現(xiàn)激光掃描圖像輸出。本系統(tǒng)實(shí)現(xiàn)方法簡(jiǎn)單,操作方便,成本低廉,很適合作為實(shí)驗(yàn)教學(xué)儀器[2]。

      1 基本原理

      1.1 掃描振鏡

      振鏡是一種特殊的擺動(dòng)馬達(dá),基本原理是通電線圈在磁場(chǎng)中產(chǎn)生力矩,但與旋轉(zhuǎn)電機(jī)不同,其轉(zhuǎn)子上通過機(jī)械紐簧或電子的方法加有復(fù)位力矩,大小與轉(zhuǎn)子偏離平衡位置的角度成正比,當(dāng)線圈通以一定的電流而轉(zhuǎn)子發(fā)生偏轉(zhuǎn)到一定的角度時(shí),電磁力矩與回復(fù)力矩大小相等,故不能像普通電機(jī)一樣旋轉(zhuǎn),只能偏轉(zhuǎn),偏轉(zhuǎn)角與電流成正比,與電流計(jì)一樣,故振鏡又叫電流計(jì)掃描振鏡。

      振鏡的原理是:輸入一個(gè)位置信號(hào),擺動(dòng)電機(jī)(振鏡)就會(huì)按一定電壓與角度的轉(zhuǎn)換比例擺動(dòng)一定角度[3]。整個(gè)過程采用閉環(huán)反饋控制,由位置傳感器、誤差放大器、功率放大器、位置區(qū)分器、電流積分器等五大控制電路共同作用。振鏡的掃描原理見如下圖1。

      圖1 振鏡掃描原理示意圖

      a、b是振鏡,通過轉(zhuǎn)動(dòng)振鏡a和b可以使入射光束投影到XY平面的指定位置。設(shè)a、b振鏡的X軸和Y軸的反射鏡之間的距離為e,b振鏡的軸線到視場(chǎng)平面坐標(biāo)原點(diǎn)的距離為d,當(dāng)X、Y軸的光學(xué)偏轉(zhuǎn)角分別為θx和θy時(shí),視場(chǎng)平面上相應(yīng)光點(diǎn)坐標(biāo)為(x,y),且當(dāng)x=y=0時(shí),θx=θy=0,則

      (1)

      (2)

      振鏡a、b的偏轉(zhuǎn)角θx和θy與振鏡a、b的控制電壓Vx和Vy的關(guān)系為

      θx=kx×Vx

      (3)

      θy=ky×Vy

      (4)

      其中kx、ky是系數(shù)[4]。

      所以通過控制Vx和Vy就可以控制振鏡a、b的偏轉(zhuǎn)角度。

      1.2 圖像輪廓采樣算法

      想要驅(qū)動(dòng)振鏡,一種辦法是直接編寫代碼,讓單片機(jī)根據(jù)代碼產(chǎn)生輸出的信號(hào)。在實(shí)際應(yīng)用中,更多遇到的情形是給定一張圖片,根據(jù)圖片讓激光打出對(duì)應(yīng)的圖案[5]。

      此時(shí)就要設(shè)計(jì)一個(gè)程序,輸入一張圖片,程序?qū)D片進(jìn)行采樣,生成一系列用坐標(biāo)數(shù)據(jù)表示的“采樣點(diǎn)”。當(dāng)激光逐個(gè)掃過這些點(diǎn)的時(shí)候,形成的圖案正好是圖片中的物體。

      具體的實(shí)現(xiàn)方法是將圖像轉(zhuǎn)化為灰度圖,進(jìn)而再轉(zhuǎn)化為黑-白二值圖,最后利用一定的算法生成輪廓點(diǎn)。

      1.2.1 灰度計(jì)算公式

      計(jì)算機(jī)內(nèi)一般用RGB對(duì)顏色進(jìn)行編碼。每種顏色的取值范圍為00h(對(duì)應(yīng)十進(jìn)制0)~FFh(對(duì)應(yīng)十進(jìn)制255)。0表示無,255表示最大光強(qiáng)[6]。

      將某種顏色轉(zhuǎn)化為灰度值,可以使用平均值法:

      (5)

      但由于人眼對(duì)三原色的感知能力不同,實(shí)際應(yīng)用中更常用的是如下所示的著名心理學(xué)公式:

      Gray=0.299R+0.587G+0.114B

      (6)

      則[Gray,Gray,Gray]就是原來[R,G,B]顏色灰化后的顏色。

      1.2.2 彩色圖轉(zhuǎn)灰度圖

      圖像的基本單位是一個(gè)像素,每像素又由R、G、B三種信息組成。所以,一個(gè)圖像可以視為一個(gè)H×W×3的三維數(shù)組。H為圖像的高度(垂直方向上像素個(gè)數(shù)),W為圖像寬度(水平方向上像素個(gè)數(shù)),3指RGB三種信息[7]。將圖像轉(zhuǎn)化為灰度圖,其實(shí)就是對(duì)每個(gè)像素求灰度。

      下面是浙江大學(xué)徽標(biāo)彩色圖轉(zhuǎn)化灰度圖的效果圖,見圖2。

      圖2 彩色圖轉(zhuǎn)灰度圖

      1.2.3 灰度圖轉(zhuǎn)二值圖

      灰度圖中每個(gè)像素仍然具有256種不同的信息量。為了便于采樣,還需要將灰度圖轉(zhuǎn)化為“二值圖”[8]。在二值圖中,每個(gè)像素只有兩個(gè)信息量:0和255。0代表黑色,255代表白色。

      常用的轉(zhuǎn)化方式是設(shè)定一個(gè)閾值“thresh”,當(dāng)灰度超過這個(gè)閾值時(shí),像素值設(shè)為255;小于等于這個(gè)閾值時(shí),像素值設(shè)為0[9]。

      (7)

      當(dāng)閾值“thresh”取不同的值時(shí),能夠產(chǎn)生不同的二值圖,見如下圖3。一般取能夠使圖像輪廓最清晰時(shí)的閾值,即圖3(c)。

      圖3 不同的二值徽標(biāo)圖

      出于“尋找輪廓”的需要,在本例中還要將圖片取反,則變成圖4所示。

      圖4 圖片取反后的徽標(biāo)圖

      1.2.4 尋找輪廓

      本文使用在二值圖像中提取值為“1”(即白色)的區(qū)域輪廓。

      首先,考慮到一個(gè)圖像中可能存在多個(gè)輪廓,因此需要對(duì)找出的輪廓進(jìn)行“編號(hào)”。

      定義:圖像的框架(frame),是指圖片的最外邊的矩形輪廓(由圖片的最上行、最下行、最左列、最右列像素構(gòu)成),編號(hào)為1[10]。

      采用“光柵掃描”法,從左往右、從上往下,先掃描第一行、再掃描下一行的方式尋找輪廓。尋找過程中設(shè)定兩個(gè)變量:NBD記錄當(dāng)前追蹤的輪廓B的編號(hào),LNBD記錄上一次追蹤的輪廓B′的編號(hào)。每次掃描到新的一行的最左端時(shí),都要把LNBD重設(shè)為1,表示上一次追蹤的輪廓是frame[11]。下面是實(shí)現(xiàn)效果,見圖5所示。

      圖5 徽標(biāo)輪廓

      2 儀器系統(tǒng)

      本文設(shè)計(jì)的成像系統(tǒng)由圖像取點(diǎn)采樣、程序燒錄、數(shù)模信號(hào)轉(zhuǎn)換和振鏡驅(qū)動(dòng)四個(gè)部分。系統(tǒng)總框圖見圖6所示[12]。

      圖6 系統(tǒng)總框圖

      實(shí)現(xiàn)過程:(1)圖像取點(diǎn)采樣:根據(jù)圖像的灰度得到圖像的外部輪廓,然后得到輪廓每個(gè)點(diǎn)的坐標(biāo)。(2)程序燒錄:將得到的輪廓點(diǎn)坐標(biāo)復(fù)制到成像程序,然后燒錄進(jìn)入STM32單片機(jī)中。(3)數(shù)模信號(hào)轉(zhuǎn)換:DAC8562模塊將STM32輸出的離散的數(shù)字信號(hào)轉(zhuǎn)換為連續(xù)變量的模擬信號(hào)。(4)振鏡驅(qū)動(dòng):振鏡中的伺服電機(jī)驅(qū)動(dòng)器將DAC8562模塊輸出的電壓信號(hào)轉(zhuǎn)化為轉(zhuǎn)矩和轉(zhuǎn)速的控制信號(hào),控制伺服電機(jī)運(yùn)動(dòng)。

      2.1 硬件架構(gòu)

      2.1.1 STM32單片機(jī)

      2.1.1.1 STM32基本功能

      單片機(jī)是一種集成電路芯片[13]。STM32單片機(jī)是單片機(jī)的一種,它屬于一個(gè)微控制器,適用于控制類,自帶了各種常用通信接口,比如USART、I2C、SPI等,可接非常多的傳感器,可以控制很多的設(shè)備。STM32單片機(jī)具有極高的性能、強(qiáng)大的軟件支持、全面豐富的技術(shù)文檔等諸多優(yōu)點(diǎn)。

      2.1.1.2 STM32模式設(shè)置

      STM32可以設(shè)置GPIO模式。STM32 MCU允許 GPIO引腳被配置為8種模式,這種模式配置可以通過軟件配置來實(shí)現(xiàn),所謂GPIO即使用STM32的通用輸入輸出模式。其中,主要包含浮空輸入、下拉輸入、上拉輸入、模擬輸入、開漏復(fù)用輸出、推挽輸出、推挽復(fù)用輸出、開漏輸出等模式[14]。

      同時(shí),STM32可以進(jìn)行I/O模式和速率的選擇,通過采用軟件進(jìn)行編程,能夠使STM32單片機(jī)輸出50兆赫、10兆赫、2兆赫等不同的輸出功率。

      2.1.1.3 STM32內(nèi)部結(jié)構(gòu)

      STM32的CPU采用的是72 MHZ,是零等待處理器,即在處理數(shù)據(jù)時(shí)不需要響應(yīng)時(shí)間,在一個(gè)機(jī)器周期里就能實(shí)現(xiàn)乘除法運(yùn)算[15]。

      STM32內(nèi)部組成主要如下圖7所示。

      圖7 STM32內(nèi)部組成

      2.1.2 DAC8562數(shù)模轉(zhuǎn)換器

      2.1.2.1 DAC基本原理

      DAC的全稱是Digital-to-Analog Converter,中文名數(shù)模轉(zhuǎn)換器,可以將離散的數(shù)字信號(hào)轉(zhuǎn)換為連續(xù)變量的模擬信號(hào)的器件。

      2.1.2.2 基本參數(shù)

      DAC8562模塊精度為16bit,也就是可以轉(zhuǎn)化范圍為[0,216-1],操作的電壓為5 V,相對(duì)精度為12LSBINL。模塊有輸入邏輯單元、控制邏輯單元還有DAC。輸入數(shù)據(jù)并不直接進(jìn)行轉(zhuǎn)換,而是先存到寄存器中,然后用控制邏輯單元進(jìn)行控制。具體的控制時(shí)序見圖8。

      圖8 DAC8562模塊控制時(shí)序

      最后輸出的電壓公式為

      (9)

      其中,n=16,DIN就是轉(zhuǎn)換的16位二進(jìn)制數(shù),VREF為DAC的參考電壓,Gain為一個(gè)參數(shù),在使用內(nèi)部參考時(shí)設(shè)置為2,不使用時(shí)設(shè)置為1。

      2.1.3 DAC8562&STM32庫(kù)函數(shù)設(shè)計(jì)

      在驅(qū)動(dòng)振鏡時(shí)使用到了DAC8562.cpp和DAC8562.h兩個(gè)庫(kù)文件,可以進(jìn)行初始化和轉(zhuǎn)化的參數(shù)。

      2.1.3.1 電壓轉(zhuǎn)換函數(shù)

      傳入的Voltage為連續(xù)的數(shù)據(jù),范圍為[-5,5],其中第四行的代碼調(diào)整是因?yàn)樾酒妮敵龇秶?,第五行代碼將電壓變成[0,216-1],第六行調(diào)整了在低電壓下可能的誤差,最后返回計(jì)算完離散的電壓值。

      2.1.3.2 初始化

      這一段代碼使用到了SPI庫(kù),DAC8562模塊具體接線圖見圖9。

      圖9 DAC8562模塊接線圖

      程序中先激活SPI,然后將SPI的模式設(shè)置為模式1,數(shù)據(jù)采樣在時(shí)鐘下降沿,數(shù)據(jù)轉(zhuǎn)移在時(shí)鐘的上升沿。并設(shè)置數(shù)據(jù)傳輸模式為從高位進(jìn)入,然后開始對(duì)DAC模塊的初始化階段。

      2.1.3.3 使用

      使用時(shí)會(huì)調(diào)用writeA和writeB函數(shù),因?yàn)橛袃蓚€(gè)電機(jī),因此一個(gè)函數(shù)對(duì)應(yīng)控制其中的一個(gè)電機(jī)。

      2.2 軟件架構(gòu)

      軟件部分由三部分組成:DAC8562函數(shù)庫(kù)、輪廓采樣程序、STM32燒錄程序。關(guān)系如圖10所示。

      圖10 軟件架構(gòu)圖

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

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

      對(duì)求是鷹圖像(圖2)提取輪廓,根據(jù)所寫的采樣算法,獲得了圖像采樣點(diǎn)的對(duì)應(yīng)數(shù)據(jù)和成像結(jié)果,見如下圖11所示。

      圖11 求是鷹激光圖

      3.2 誤差分析

      經(jīng)過分析,誤差來源主要有如下幾個(gè)方面:

      (1)振鏡系統(tǒng)誤差

      振鏡系統(tǒng)的標(biāo)定誤差主要來源于光平面方程誤差和系統(tǒng)安裝誤差兩個(gè)方面。由系統(tǒng)標(biāo)定原理可知,在空間中每?jī)蓷l相交的激光條紋可以確定一個(gè)光平面方程,因此激光條紋坐標(biāo)的提取精度將直接決定光平面擬合的精度。系統(tǒng)安裝誤差主要來源于光平面與振鏡轉(zhuǎn)軸的安裝誤差。

      (2)電機(jī)驅(qū)動(dòng)能力有限

      由實(shí)驗(yàn)數(shù)據(jù)部分可知,在掃過一些曲率半徑小、尖角的地方(例如正方形的頂點(diǎn)),電機(jī)沒法在給定的時(shí)間內(nèi)轉(zhuǎn)過指定的角度,所以會(huì)導(dǎo)致一些輪廓掃描不到。這是由于電機(jī)驅(qū)動(dòng)能力有限導(dǎo)致的。激光掃描過程中要求光斑移動(dòng)非常迅速(這樣才能利用人眼視覺殘留效應(yīng)),但帶來的后果就是電機(jī)驅(qū)動(dòng)可能跟不上。

      (3)DAC精度有限

      使用RSS(root sum squared)的方法來進(jìn)行誤差估計(jì),方程為

      (10)

      對(duì)于16位DAC8562來說,詳細(xì)參數(shù)如下表1。

      表1 DAC8562詳細(xì)參數(shù)

      為了計(jì)算TUE,需要將所有內(nèi)容轉(zhuǎn)換到同一個(gè)單位,轉(zhuǎn)換為的數(shù)值如下表2所示:

      表2 轉(zhuǎn)換的數(shù)值

      由此可以得到誤差為±23LSBs或者是1.78 mV或者0.035 6%FSR。

      (4)STM32單片機(jī)運(yùn)算速度不夠與STM32芯片的具體參數(shù)有關(guān)。微型計(jì)算機(jī)芯片的計(jì)算能力一般不如用戶PC機(jī)。

      4 總 結(jié)

      本文設(shè)計(jì)了一套成熟的激光掃描成像系統(tǒng),操作方便,只需要提供原始任意圖片,就能用激光掃描出對(duì)應(yīng)圖案。還需要改進(jìn)的有如下幾方面:

      (1)優(yōu)化輪廓采樣算法。在輪廓采樣前可以用一些圖像處理方法,消除原始圖像的邊緣噪音,這樣可以使整個(gè)輪廓變得更加光滑。

      (2)優(yōu)化用戶程序,讓用戶可以手動(dòng)微調(diào)、添加、刪除程序自動(dòng)生成的采樣點(diǎn),使用更加靈活。

      (3)實(shí)現(xiàn)STM32單片機(jī)和用戶計(jì)算機(jī)之間的通訊功能。這需要給代碼加上一些通訊協(xié)議。所有的數(shù)據(jù)都從用戶計(jì)算機(jī)這里處理和發(fā)出,STM32只負(fù)責(zé)接收數(shù)據(jù)、發(fā)送數(shù)字信號(hào)。這樣順便也就解決了STM32運(yùn)算能力有限和RAM有限的問題。

      (4)提高伺服電機(jī)的驅(qū)動(dòng)能力。

      猜你喜歡
      振鏡輪廓灰度
      激光振鏡直寫光柵誤差分析及校正方法
      采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      振鏡系統(tǒng)自適應(yīng)離散滑模控制器設(shè)計(jì)與仿真
      基于灰度拉伸的圖像水位識(shí)別方法研究
      基于FPGA的共聚焦顯微鏡振鏡掃描控制系統(tǒng)設(shè)計(jì)
      OPENCV輪廓識(shí)別研究與實(shí)踐
      基于實(shí)時(shí)輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
      基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
      基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
      基于二維掃描振鏡的靜脈掃描投影裝置
      宁陕县| 泸定县| 两当县| 保定市| 乐清市| 光泽县| 修武县| 黑水县| 南皮县| 武陟县| 长泰县| 偏关县| 余江县| 鱼台县| 香格里拉县| 海宁市| 青阳县| 乐清市| 鸡泽县| 股票| 南郑县| 安岳县| 广宁县| 香格里拉县| 高密市| 土默特右旗| 昔阳县| 南木林县| 镇远县| 会同县| 上林县| 丰顺县| 阳原县| 安宁市| 滕州市| 抚顺县| 贵溪市| 东平县| 青川县| 北宁市| 湘阴县|