有無圖像沒圖像
是否黑屏黑屏,白屏,花屏
是否亮燈亮紅燈
是否開機不開機
故障設備找不到相機
可以看到相機編程需要做三方面工作:
1.初始化操作
先初始化相機驅動Com環境,然后遍歷得到當前的相機列表,根據相機ID或List 編號選擇對應相機。
之后連接相機,先設置本次采集的相機參數(幀速、圖像大小、縮放比等),然后是分配和注冊當前DMA隊列,這里有的是用戶完成,有的是SDK完成。
之后先開啟DMA邏輯等待相機采圖,然后使相機開始工作采圖,整個系統就按照之前工作流程運作起來了,許多SDK將“開啟DMA”和“相機開始工作”合并為“開始采集”。
2.結束操作
先停止相機工作再關閉DMA邏輯,許多SDK將“開啟DMA”和“相機開始工作”合并為“結束采集”。
然后清理DMA隊列,和分配時對應,這里有的是用戶完成,有的是SDK完成。
后斷開相機并清理工作環境。
一、工業相機編程模型和流程
不同的工業相機提供不同的編程接口(SDK),盡管不同接口不同相機間編程接口各不相同,他們實際的API結構和編程模型很相似,了解了這些再對工業相機編程就很簡單了。
DMA技術:
DMA是一種高速的數據傳輸操作,允許在外部設備和存儲器之間直接讀寫數據,既不通過CPU,也不需要CPU干預。整個數據傳輸操作在一個稱為"DMA控制器"的控制下進行的。CPU除了在數據傳輸開始和結束時做一點處理外,在傳輸過程中CPU可以進行其他的工作。這樣,在大部分時間里,CPU和輸入輸出都處于并行操作。因此,使整個計算機系統的效率大大提高。
對于工業相機來說,當CMOS或CCD芯片曝光然后將數據轉到相機緩存后,這時候DMA會負責將緩存中數據保存到硬盤上位置,正好滿足相機高速大數據的傳輸。一般都會使用DMA來完成實時的數據采集和保存。
多數時候,DMA控制器存在各種接口的圖像采集卡中,包括1394/GigE/USB/Camera Link等,這些采集卡有自己的時間控制單元完成和相機曝光的同步,并控制DMA的存取行為。
隨著科技的日漸成熟,工業相機得到了飛速發展。近幾年國外的工業相機廠商快速崛起,成為機器視覺領域的,比較有代表性的有:basler相機、灰點相機等。下面我們來看一下工業相機的主要參數:
1.分辨率:是指該像元傳感器對不同光波的敏感特性,一般響應范圍是350nm-1000nm,一些相機在靶面前加了一個濾鏡,濾除紅外光線,如果系統需要對紅外感光時可去掉該濾鏡。
2.像素深度:這個參數也在一定程度上影響著圖像質量的好壞。
3.幀率:這個參數是相機采取傳輸圖像速率的一個重要的衡量標準,對于一般的面陣相機一般為每秒采集的幀數,對于大多數線陣相機為每秒采集的行數,這是選擇工業相機時得考慮的**的一個參數
4.曝光方式:不同的工業相機有著不同的曝光方式。線陣相機一般采用的是逐行曝光方式,面陣相機一般采用幀曝光和滾動行曝光,還有一些面陣相機才用的是場曝光。
5.像元尺寸:像元大小和分辨率共同決定了相機的靶面的大小。而相機靶面有對圖像的成像質量有著很大的影響。一般情況下,像元的尺寸越小,越難制造,但是越小的像元成像的質量也就越高。
6.接口類型:不同的工業相機有著不同的接口類型。主要有GIGE千兆網、USB2.0、USB3.0、Camera Link1394A、1394B、等多種類型的接口
智能相機并不是一臺簡單的相機,而是一種高度集成化的微小型機器視覺系統。它將圖像的采集、處理與通信功能集成于單一相機內,從而提供了具有多功能、模塊化、高可靠性、易于實現的機器視覺解決方案。同時,由于應用了的DSP、FPGA及大容量存儲技術,其智能化程度不斷提高,可滿足多種機器視覺的應用需求。
http://www.minepool.cc