隨著后PC時代的到來和嵌入式的蓬勃發展,運用嵌入式系統實現遠程數據采集已成為社會需求的趨勢。本文采用嵌入式系統采集圖像數據實現加工零件的遠程測量,代替傳統的人工檢測。其特點有:網絡化,準確性高,節約人力和物力。
2.系統軟硬件平臺
由于嵌入式設備資源有限,所以在開發嵌入式系統的軟件部分需要在宿主機平臺上實現,運用宿主機的資源編譯目標機平臺上可運行的軟件。本文系統的宿主機平臺:Redhat 9.0,交叉編譯環境:ARM-Linux-Gcc;目標機平臺:UBOOT 1.1,Linux 2.4.18 和YAFFS 根文件系統。
系統硬件平臺的處理器采用 Samsung 公司的集成有ARM920T 內核的處理器S3C2410,該處理器資源豐富,具有16KB 的指令Cache 和16KB 數據Cache、MMU 虛擬存儲器管理器、LCD 控制器、支持NAND Flash 系統引導,RAM 控制器、3 通道UART、4 通道DMA、4通道帶PWM 定時器、RTC、并行I/O 口、8 通道10 位ADC、觸摸屏接口、IIC 接口、IIS接口、2 個USB 接口控制器、2 通道SPI 及內部PLL 時鐘倍頻器,主頻可達203MHz。此外,在處理器豐富資源的基礎上還進行了相關的配置和擴展,配置了64MB 的Flash 和64MB 的SDRAM,并引出了兩個HOST USB 接口。在USB 接口上外接帶USB 口的攝像頭Webeye V 2000。嵌入式Linux 操作系統上建立圖像采集和圖像恢復兩個軟件模塊。開發板擁有CS8900A-CQ3 芯片,具有10"100M 自適應的網絡通信能力。通過它實現圖像數據的遠程傳輸。整個系統的硬件概圖如圖1 所示:

圖1 系統硬件結構圖
3.RGB數據流的采集
Webeye V 2000攝像頭內部擁有ov7620、ov511和一個存儲芯片。由于Linux操作系統中嵌有ov511芯片的驅動,故在編譯Linux操作系統時需要加載ov511驅動,主要步驟:
①(*)選擇Multimedia device->下的Video for linux。加載video4linux模塊,提供了編程接口;
②在usb support->目錄下(*)選擇support for usb和usb camera ov511 support。加入了對采用ov511接口芯片的USB數字攝像頭的驅動支持。
在嵌入式Linux操作系統平臺上驅動攝像頭,通過Video4Linux接口控制攝像頭參數、圖片的格式和窗口大小等等。Video4Linux是Linux中關于視頻設備的內核驅動,它為針對視頻設備的應用程序編程提供一系列接口函數。USB口攝像頭驅動程序中需要提供基本的I/O操作接口函數open、read、write、close的實現。對中斷的處理實現,內存映射功能以及對I/O通道的控制接口函數ioctl的實現等,并把它們定義在struct file_operations中。本系統采用內存映射法,即mmap()方式截取圖像或視頻數據。mmap()函數調用使得進程之間通過映射同一個普通文件實現共享內存。該映射內容區可讀可寫并且不同進程間可共享,不需要任何數據的拷貝。

函數,它在用戶程序中用來控制I/O通道,其中,fd代表設備文件描述符,cmd代表用戶程序對設備的控制命令,省略號一般表示類型長度的參數, 也可沒有。
4. 圖像的恢復
上一節已經介紹了系統采集RGB圖像數據流。為了滿足用戶觀看采集的圖像數據和相應測試,故需要將RGB流轉換成在Linux系統和Windows系統下都可以瀏覽的BMP格式的圖片。BMP格式的圖片分為文件描述區和圖像存儲區兩部分。頭文件信息中又包含了信息區和調色板區兩部分,信息區又可以細分為文件信息區和圖像信息區兩部分。恢復BMP圖片的關鍵是首先手動生成BMP文件的頭文件,然后將采集到的RGB數據流填充到BMP文件的數據區。拍攝的物體為加工好的環行零件,檢驗其加工是否合格,中心點位置等等。以下將介紹BMP文件的數據結構和頭文件,圖片恢復如圖2所示:


5. 圖像的傳輸和處理
系統采用網絡(FTP)方式讀取BMP 文件。遠程終端建立FTP 服務器,實現系統和FTP 服務器的連接建立,將BMP 文件放置到服務器上,具體命令:FTP open 服務器的IP 地址Put 命令將bmp 文件放到FTP 服務器上終端可以通過網絡獲得FTP 服務器上的BMP 文件,終端上安裝Matlab7.1 應用程序,運用Matlab7.1 做圖像處理,從而得到對加工零件的中值濾波,邊緣檢測,二值化和中心點的坐標,查看零件合格。具體命令和結果如下:

下面是中心點坐標的提取命令:

6.結束語
本文基于嵌入式平臺的實現了圖像采集軟硬件,RGB 圖像數據流向BMP 文件的轉換和圖像的處理(中值濾波,邊緣檢測,二值化和中心點的坐標)。實驗結果證明:網絡化檢測加工零件準確性高,節約人力和物力。為今后完成機械手定位打下一定基礎。

本文作者創新點: 嵌入式Linux平臺集成圖像采集軟硬件,RGB流和BMP轉換,遠程終端處理零件圖像,實現遠程檢測系統具有微型化,圖形化,方便和經濟等特點。