智能相機一般由圖像采集單元、圖像處理單元、圖像處理軟件、網絡通信裝置等構成,各部分的功能如下:
1.圖像采集單元:在智能相機中,圖像采集單元相當于普通意義上的CCD/CMOS相機和圖像采集卡。它將光學圖像轉換為模擬/數字圖像,并輸出至圖像處理單元。
2.圖像處理單元:圖像處理單元類似于圖像采集、處理卡。它可對圖像采集單元的圖像數據進行實時的存儲,并在圖像處理軟件的支持下進行圖像處理。
3、圖像處理軟件:圖像處理軟件主要在圖像處理單元硬件環境的支持下,完成圖像處理功能。如幾何邊緣的提取、Blob、灰度直方圖、OCV/OVR、簡單的定位和搜索等。在智能相機中,以上算法都封裝成固定的模塊,用戶可直接應用而無需編程。
4、網絡通信裝置:網絡通信裝置的智能相機的重要組成部分,主要完成控制信息、圖像數據的通信任務。智能相機一般均內置以太信裝置,并支持多種標準網絡和總線協議,從而使多臺智能相機構成更大的機器視覺系統。
機器視覺智能相機與工業相機區別,簡言之:智能相機是一種高度集成化的微小型機器視覺系統;而工業相機是機器視覺系統的組成部分之一

可以看到相機編程需要做三方面工作:
1.初始化操作
首先初始化相機驅動Com環境,然后遍歷得到當前的相機列表,根據相機ID或List 編號選擇對應相機。
之后連接指定相機,首先設置本次采集的相機參數(幀速、圖像大小、縮放比等),然后是分配和注冊當前DMA隊列,這里有的是用戶完成,有的是SDK完成。
之后先開啟DMA邏輯等待相機采圖,然后使相機開始工作采圖,整個系統就按照之前工作流程運作起來了,許多SDK將“開啟DMA”和“相機開始工作”合并為“開始采集”。
2.結束操作
先停止相機工作再關閉DMA邏輯,許多SDK將“開啟DMA”和“相機開始工作”合并為“結束采集”。
然后清理DMA隊列,和分配時對應,這里有的是用戶完成,有的是SDK完成。
后斷開相機并清理工作環境。

需要說明如下幾點:
1.這里的初始隊列為1-10,都是初始分配為DMA隊列的,這個內存分配和釋放過程有的SDK是自己負責的,有的則需要用戶自己分配和釋放,SDK只負責托管使用。
2.一般開始注冊一個中斷處理函數,當“準備隊列”填充完成會自動跳轉到中斷函數中,借此完成同步操作。也可以是用戶自己維護同步結構體,使用查詢和等待的方式判斷“準備隊列”頭是否填充完成,是否該用戶程序獲取數據和處理了。
3.如果用戶處理任務非常簡單,可以去掉“處理隊列”,每次直接GetFrame->處理->PutFrame。如果用戶處理任務比較復雜而不希望出現丟幀的現象,則需要用戶使用“處理隊列”來保存所有可用的Buffer。
4.這里隊列也只是能夠解決處理速度比采集速度慢少許的情況,主要是對不同處理速度做平均來保證采集和處理同步。如果每一幀的處理時間太長,這時候“DMA隊列” Buffer全部轉移到“處理隊列” Buffer,就會出現異常情況,這時不同的相機會有不同的處理方法。

1、走在前端的智能理念——無人充電機器人
ALSONTECH(埃爾森智能科技)于2018年推出全球套機器人3D視覺引導無人快速充電系統,將智能充電機器人變成現實。
該系統采用Basler集小巧機身和完美功能于一體的工業相機,搭建出3D視覺作為機器人的“雙眼”,幫助機器人精準定位充電端口,之后該系統會引導充電體自動實現快充操作,結束后機器人甚至可以自動關閉充電蓋。借助無人充電機器人,停車場可實現高度智能自動化。從車輛停至充電站到充電完成,整個過程駕駛員無需進行任何干預操作,有效縮短等待時間,省時省力。
隨著無人駕駛技術在全球范圍內推廣應用,車輛使用方式面臨著巨大變革。該項目著眼于汽車工業發展的未來,以“人工智能”為核心理念,采用更加高效的充電方式為車輛提供能源保障,助力無人駕駛行業的產品升級。
-/hbahbeb/-