1.引言 隨著后PC時代的到來和嵌入式的蓬勃發(fā)展,運用嵌入式系統(tǒng)實現(xiàn)遠程數(shù)據(jù)采集已成為社會需求的趨勢。本文采用嵌入式系統(tǒng)采集圖像數(shù)據(jù)實現(xiàn)加工零件的遠程測量,代替?zhèn)鹘y(tǒng)的人工檢測。其特點有:網(wǎng)絡(luò)化,準確性高,節(jié)約人力和物力。 2.系統(tǒng)軟硬件平臺 由于嵌入式設(shè)備資源有限,所以在開發(fā)嵌入式系統(tǒng)的軟件部分需要在宿主機平臺上實現(xiàn),運用宿主機的資源編譯目標機平臺上可運行的軟件。本文系統(tǒng)的宿主機平臺:Redhat 9.0,交叉編譯環(huán)境:ARM-Linux-Gcc;目標機平臺:UBOOT 1.1,Linux 2.4.18 和YAFFS 根文件系統(tǒng)。 系統(tǒng)硬件平臺的處理器采用 Samsung 公司的集成有ARM920T 內(nèi)核的處理器S3C2410,該處理器資源豐富,具有16KB 的指令Cache 和16KB 數(shù)據(jù)Cache、MMU 虛擬存儲器管理器、LCD 控制器、支持NAND Flash 系統(tǒng)引導,RAM 控制器、3 通道UART、4 通道DMA、4通道帶PWM 定時器、RTC、并行I/O 口、8 通道10 位ADC、觸摸屏接口、IIC 接口、IIS接口、2 個USB 接口控制器、2 通道SPI 及內(nèi)部PLL 時鐘倍頻器,主頻最高可達203MHz。此外,在處理器豐富資源的基礎(chǔ)上還進行了相關(guān)的配置和擴展,配置了64MB 的Flash 和64MB 的SDRAM,并引出了兩個HOST USB 接口。在USB 接口上外接帶USB 口的攝像頭Webeye V 2000。嵌入式Linux 操作系統(tǒng)上建立圖像采集和圖像恢復兩個軟件模塊。開發(fā)板擁有CS8900A-CQ3 芯片,具有10"100M 自適應的網(wǎng)絡(luò)通信能力。通過它實現(xiàn)圖像數(shù)據(jù)的遠程傳輸。整個系統(tǒng)的硬件概圖如圖1 所示: 圖1 系統(tǒng)硬件結(jié)構(gòu)圖 3.RGB數(shù)據(jù)流的采集 Webeye V 2000攝像頭內(nèi)部擁有ov7620、ov511和一個存儲芯片。由于Linux操作系統(tǒng)中嵌有ov511芯片的驅(qū)動,故在編譯Linux操作系統(tǒng)時需要加載ov511驅(qū)動,主要步驟: ①(*)選擇Multimedia device->下的Video for linux。加載video4linux模塊,提供了編程接口; ②在usb support->目錄下(*)選擇support for usb和usb camera ov511 support。加入了對采用ov511接口芯片的USB數(shù)字攝像頭的驅(qū)動支持。 在嵌入式Linux操作系統(tǒng)平臺上驅(qū)動攝像頭,通過Video4Linux接口控制攝像頭參數(shù)、圖片的格式和窗口大小等等。Video4Linux是Linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動,它為針對視頻設(shè)備的應用程序編程提供一系列接口函數(shù)。USB口攝像頭驅(qū)動程序中需要提供基本的I/O操作接口函數(shù)open、read、write、close的實現(xiàn)。對中斷的處理實現(xiàn),內(nèi)存映射功能以及對I/O通道的控制接口函數(shù)ioctl的實現(xiàn)等,并把它們定義在struct file_operations中。本系統(tǒng)采用內(nèi)存映射法,即mmap()方式截取圖像或視頻數(shù)據(jù)。mmap()函數(shù)調(diào)用使得進程之間通過映射同一個普通文件實現(xiàn)共享內(nèi)存。該映射內(nèi)容區(qū)可讀可寫并且不同進程間可共享,不需要任何數(shù)據(jù)的拷貝。 函數(shù),它在用戶程序中用來控制I/O通道,其中,fd代表設(shè)備文件描述符,cmd代表用戶程序?qū)υO(shè)備的控制命令,省略號一般表示類型長度的參數(shù), 也可沒有。 4. 圖像的恢復 上一節(jié)已經(jīng)介紹了系統(tǒng)采集RGB圖像數(shù)據(jù)流。為了滿足用戶觀看采集的圖像數(shù)據(jù)和相應測試,故需要將RGB流轉(zhuǎn)換成在Linux系統(tǒng)和Windows系統(tǒng)下都可以瀏覽的BMP格式的圖片。BMP格式的圖片分為文件描述區(qū)和圖像存儲區(qū)兩部分。頭文件信息中又包含了信息區(qū)和調(diào)色板區(qū)兩部分,信息區(qū)又可以細分為文件信息區(qū)和圖像信息區(qū)兩部分。恢復BMP圖片的關(guān)鍵是首先手動生成BMP文件的頭文件,然后將采集到的RGB數(shù)據(jù)流填充到BMP文件的數(shù)據(jù)區(qū)。拍攝的物體為加工好的環(huán)行零件,檢驗其加工是否合格,中心點位置等等。以下將介紹BMP文件的數(shù)據(jù)結(jié)構(gòu)和頭文件,圖片恢復如圖2所示: 5. 圖像的傳輸和處理 系統(tǒng)采用網(wǎng)絡(luò)(FTP)方式讀取BMP 文件。遠程終端建立FTP 服務(wù)器,實現(xiàn)系統(tǒng)和FTP 服務(wù)器的連接建立,將BMP 文件放置到服務(wù)器上,具體命令:FTP open 服務(wù)器的IP 地址Put 命令將bmp 文件放到FTP 服務(wù)器上終端可以通過網(wǎng)絡(luò)獲得FTP 服務(wù)器上的BMP 文件,終端上安裝Matlab7.1 應用程序,運用Matlab7.1 做圖像處理,從而得到對加工零件的中值濾波,邊緣檢測,二值化和中心點的坐標,查看零件合格。具體命令和結(jié)果如下: 下面是中心點坐標的提取命令: 6.結(jié)束語 本文基于嵌入式平臺的實現(xiàn)了圖像采集軟硬件,RGB 圖像數(shù)據(jù)流向BMP 文件的轉(zhuǎn)換和圖像的處理(中值濾波,邊緣檢測,二值化和中心點的坐標)。實驗結(jié)果證明:網(wǎng)絡(luò)化檢測加工零件準確性高,節(jié)約人力和物力。為今后完成機械手定位打下一定基礎(chǔ)。 本文作者創(chuàng)新點: 嵌入式Linux平臺集成圖像采集軟硬件,RGB流和BMP轉(zhuǎn)換,遠程終端處理零件圖像,實現(xiàn)遠程檢測系統(tǒng)具有微型化,圖形化,方便和經(jīng)濟等特點。 |