相機和鏡頭選型需要注意哪些問題

背景:

最近需要優于項目需求需要對工業相機和鏡頭進行選型,于是我就開啟的學習相機之旅,雖然我一直在做機器視覺方向,但是我對相機的了解還是很少,我想正好趁這次機會好好學習一下。如果有錯誤的觀點請指正。

一、相機相關的一些指標

1. 靶面尺寸

? ? ?相機的靶面尺寸就是用于接收光信號的傳感器的尺寸,業界規定在描述靶面尺寸時1英寸=16毫米(當然實際情況下1英寸=25.4mm)。相機的靶面尺寸是用靶面對角線的長度與16mm的比值表示的,如對角線為4mm的靶面尺寸為1/4”,然后根據4:3的長邊短邊比,利用勾股定理就可以計算出靶面的邊長。在其他條件一致的情況下,相機的靶面尺寸越大則可獲得的視野范圍越大。

?

?

圖1. 相機靶面尺寸

2. 像元尺寸

? ? ? 像元就是傳感器上的感光單元,這些感光單元可以把光信號轉換為電信號。如像元尺寸為4.8um*4.8um。像元有方形的也有長方形的。

3. 相機分辨率

? ? ? 分辨率就是相機的傳感器上即感光靶面上橫向和豎向各有多少個感光單元(像元)。當然“靶面尺寸”,“像元尺寸”和“分辨率”三者之間是有聯系的,比如我們已經知道了“像元尺寸”和“分辨率”那么我們就可以直接計算出相機靶面的長和寬出來,如“分辨率”為2592*2048,“像元尺寸”為4.8um,那么靶面長=2596*0.0048=12.44mm,靶面寬=2048*0.0048= 9.83mm,這與在圖1中靶面尺寸為1”的長邊和寬邊的長度有些出入,這主要是近似的緣故。

4. 鏡頭分辨率

  • ?什么是傳遞函數(又叫MTF),什么是極限空間分辨率

? ? ? ? 簡單來說MTF是空間分辨率的一種表達方式,單位:線對/mm。每個光學或者光電成像器件都有各自的MTF,鏡頭有MTF,相機也有MTF。光學器件或者光電成像器件的MTF越好,或者MTF對應的空間截止頻率越高,證明器件自身的空間分辨率越好,越能看清楚更小的細節。MTF對應的空間截止頻率又叫極限空間分辨率。

  • 鏡頭中的百萬像素,二百萬像素,五百萬像素是指什么?

? ? ? ?其實,鏡頭中的百萬像素,二百萬像素,五百萬像素同樣是指鏡頭的空間分辨率,因為鏡頭必須配合相機使用,為了方便記憶鏡頭和相機的匹配關系,人們常采用對應的相機的分辨率來命名鏡頭,這種命名方式其實是不科學的,同時給新接觸視覺系統的人帶來很多誤解,經常或機械的套用百萬像素分辨率相機對應百萬像素分辨率鏡頭,二百萬像素分辨率相機對應二百萬像素分辨率鏡頭,五百萬像素分辨率相機對應五百萬像素分辨率鏡頭。其實鏡頭與相機對應的不是相機本身的像素分辨率(像素數),而是各自的極限空間分辨率。按照目前公開的性能指標來說,百萬像素鏡頭對應的極限空間分辨率為90線對/mm,二百萬像素鏡頭對應的極限空間分辨率為110線對/mm,五百萬像素鏡頭對應的極限空間分辨率為160線對/mm,因此百萬像素鏡頭配合相機的極限空間分辨率必須低于90線對/mm, 二百萬像素鏡頭配合相機的極限空間分辨率必須低于110線對/mm,五百萬像素鏡頭配合相機的極限空間分辨率必須低于160線對/mm。而決定相機極限空間分辨率的并不是相機自身的像素分辨率,而是相機的單個像元尺寸大小。

  • 相機的極限空間分辨率

? ? ? ?相機的極限空間分辨率代表了相機能夠分辨的空間最小細節,其計算公式可以理解為:1/(單個像元尺寸*2),單位:線對/mm。為啥需要在像元尺寸上乘以2呢,這是因為,兩個像元才對應一對黑白條,如下圖所示。

圖2. 兩個像元對應一對黑白條

?

  • 相機和鏡頭的配套原則

? ? ? ?鏡頭的極限空間分辨率必須高于相機的極限空間分辨率,這樣才能讓相機實現最佳成像性能。

二、項目中如何根據實際需要選擇合適的相機和鏡頭呢?

1. 相機輸出接口選擇USB3.0還是GIGE千兆網

? ? ? 同等像素條件下,各種接口的總線其相機幀率是不一樣的,一般來說Camera Link>USB3>GIGE>1394B>USB2,1394A。現在最快的是Camera Link總線,USB3的理論速度達到了5Gbps即640MB,實際表現來看,應該有80%的有效帶寬,即有512M左右的總帶寬可供實際傳輸,這樣如果一個500萬像素的相機,每幅圖像5M,那么也可能達到100幀每秒,速度也非常快了。而對于GIGE千兆網相機,500萬像素的相機,較快的可以做到23FPS。1394B的500萬像素相機可以做到13FPS,USB2,1394A一般為5~6幀的樣子。除了考慮兩者的傳輸速率,還要考慮兩者的工作距離,通常情況下USB3.0的工作距離為5米以內,GIGE千兆網接口的工作距離為100米以內。根據下表對比USB3.0和GIGE接口的特點選擇適合自己的接口形式。

表1. USB3.0和GIGE對比

?

帶寬

理論下載速度

實際下載速度

500萬圖像傳輸幀率

優點

缺點

USB3.0接口

5Gbps

640MB

約512MB

約100fps

1. 幀率高
2. 不需要單獨供電

1. 工作距離近,通常在5m內。
2. 占用CPU內存。
3.電腦端無卡扣容易被扯掉

GIGE接口

1KMbps

128MB

約100MB

約20fps

1. 傳輸距離遠,通常在100m以內。
2. 不占用CPU內存。
3. 兩頭有卡扣,確保連接穩定。

1. 幀率沒有USB3.0高。
2. 需要單獨供電。

?

2. 選擇圖像分辨率和幀率

? ? ? ? 第一步中的選擇,其實是確定了總的帶寬,然后根據我們對幀率的需求來確定分辨率,倘若我們要求幀率為20幀,如果選用GIGE接口,那么一幀圖像的大小不超過5M,也就是一幀圖像分辨率為500萬左右,如果選擇USB3.0接口,相同的幀率,那么一幀圖像的大小可以放寬到25M,也就是不超過2500萬像素。如果你想要得到更高的幀率,那就不得不降低分辨率。如果你想幀率和分辨率都很高,那么就選擇傳輸速率較高的USB3.0接口形式,但是要考慮5米以內的工作距離是否滿足需求。

3. 確定分辨率

? ? ? ? 根據第二步我們可以確定,我們可選的分辨率大小,當然我們希望分辨率越大越好,所以在允許的范圍內,我們要選擇分辨率最大的。如果已經確定接口是GIGE接口,幀率為20幀,分辨率為500萬像素,然后就是選擇實際的分辨率,假設實際測試場地為5000*4000長寬比為1.25,所以我們在選擇的時候,也盡量選擇分辨率的長寬比接近1.25的相機,如之前選擇的2592*2048,為530萬像素的相機,長寬比為1.266與1.25較為接近。那么這時達到的精度差不多為2mm/pixel。如果要提高精度,要不然就提高分辨率,那樣幀率勢必要降低,要不然就換成USB3.0輸出接口。

4. 選擇相機靶面尺寸

? ? ? ?在候選的相機中,我們要選擇靶面尺寸更大的相機,如有2/3"和1“的可供選擇,那么我們就選擇后者,靶面尺寸大,相對應的得到的視場范圍也就越大。

5. 選擇相機顏色

? ? ? ?在沒有彩色圖像分析需求時,我們要選擇黑白相機,因為黑白相機使用單色光源成像質量要比彩色相機使用復合白光的質量要好。

6. 選擇相機的曝光時間

? ? ? ?目標的運動速度對相機的最小曝光時間提出了要求,如果目標運動速度為300mm/s, 我們的測量精度為1mm/pixel,那么我們必須考慮,物體的運動引起的拖影必須要小于我們的精度1mm,目標移動1mm,需要3.3ms,這就要求我們的相機的曝光時間必須小于3.3ms, 其實我們工業相機最快曝光時間可達幾十到一百多微秒的樣子,所以完全可以滿足我的精度需求。

7. 選擇傳感器類型

? ? ? ? 如果拍攝的目標是靜止不動的,為了節約成本,可以考慮使用CMOS相機,而如果目標是運動的,則優先考慮CCD相機,如果需要高速采集,這里的高速是指很高的采集速度,而不是目標物體的運動速度,可以考慮CMOS相機,因為CMOS相機的采集速度要優于CCD相機,如果需要高質量的圖像,如進行尺寸測量,可以考慮CCD相機,在小尺寸的傳感器中,CCD的成像質量優于CMOS。

8. 計算鏡頭焦距

  • 經過上面的指標基本上可以確定相機,然后就要選擇鏡頭,首先我們要根據相機的靶面尺寸,實際測試中的工作距離和視野范圍來計算焦距。焦距f = 工作距離(WD)*靶面尺寸(H or V)/視野范圍(H or V)。
  • 在選擇鏡頭時要考慮鏡頭的相面大小與相機的感光面大小是否兼容,遵循“大的服從小的”原則,即鏡頭的相面大小不得小于相機感光面大小,否則邊緣視場的像質不保。
  • 選擇的鏡頭的接口要與相機接口一致。
  • 一般來說相機的成像質量要和鏡頭的成像質量相對應,差異不能太大。鏡頭再好,機身傳感器的分辨率上不去,其優質的取景能力也表現不出來;機身畫幅和分辨率再高,鏡頭畫質不給力,也捕獲不到優秀的畫質。倘若選擇的相機的像元尺寸為4.8um*4.8um,先計算相機的極限空間分辨率為:1/(0.0048*2) = 104線對/mm,那么我們選擇鏡頭時,要挑選那些空間分辨率不低于104線對/mm的鏡頭,也就是選擇二百萬像素的鏡頭,空間分辨率為110線對/mm,就可以了。倘若選擇的相機的像元尺寸為3.45um*3.45um,那相機對應的空間分辨率為:1/(0.00345*2)= 145線對/mm,那么此時我們就應該選擇500萬像素分辨率的鏡頭了,對應的空間分辨率為160線對/mm,當然還要考慮相機和鏡頭靶面尺寸的匹配。

三、實例分析

表2. 數據羅列

?

指標

數據/mm

實際場景

?

?

視野范圍H

5000

視野范圍V

4000

工作距離

3200

相機參數

?

?

?

?

?

?

靶面尺寸

1"

像元尺寸

4.8um*4.8um

分辨率

2592*2048

最大幀率

22

顏色

黑白

輸出接口

GIGE

鏡頭接口

C-Mount

鏡頭參數

?

?

?

?

?

焦距

6mm

最大像面

1"

鏡頭分辨率

1200萬

視場角H(度)

95.4

視場角V(度)

78.4

鏡頭接口

C-Mount

下面是之前選的海康的工業相機,千兆網接口,1", 500萬分辨率,幀率不高于22幀,為了達到更大的視野,所以優先選擇大靶面的。

圖3. 選擇的海康工業相機

確定相機后根據相機的靶面尺寸,工作距離,視野范圍來計算所需鏡頭的焦距。

焦距f = 工作距離WD*靶面尺寸(H or V)/視野范圍(H or V) = 3200*12.8/5000 = 8.19,所以安全起見,我們需要選擇焦距小于8的鏡頭,所以我決定選6mm焦距的鏡頭。

關于鏡頭的選擇,首先,焦距要選符合我們項目需求的,如上面計算的6mm, 其次就是要盡可能保證,鏡頭對應的靶面尺寸與相機的靶面尺寸兼容,如下面第一幅圖中,該6mm焦距的鏡頭就兼容1”和2/3"的靶面尺寸。我們在選選擇鏡頭時,單從靶面尺寸這個指標來看,所選鏡頭的靶面尺寸要大于或者等于相機的靶面尺寸,但是絕不能小于,否則,相機的視野就被鏡頭給限制了。除了要看鏡頭的焦距,靶面尺寸,還要看鏡頭的分辨率,關于鏡頭的分辨率這快我還有不少困惑,但是選擇的思路是,在保證鏡頭的焦距和靶面尺寸滿足需求的前提下,一定要確保,鏡頭的分辨率要高于相機的分辨率,這樣可以把相機和鏡頭的潛力都發揮出來,但是如果鏡頭的分辨率太低,那再好的相機,高質量的成像效果也得不到了,但是也不需要無限的高,否則鏡頭的分辨率又被浪費了。

我問了鏡頭1的客服,他這款鏡頭的分辨率也是1200萬的,但是為啥不在表格中標識出來呢?

表3. 選取的鏡頭1的指標

在鏡頭4的指標表格中標識了鏡頭的分辨率為1200萬,這里并沒有使用鏡頭的空間分辨率lp/mm來表示,大概是表示成與相機分辨率一致的形式,便于買家理解吧。

標4. 選取的鏡頭2的指標

參考文獻

1.?http://www.skcircle.com/?id=1217

2.?https://mp.weixin.qq.com/s/K1TtIH8EJcZxHVRrsIN4qQ

3.?https://blog.csdn.net/qq_27923041/article/details/106858708

4.?http://www.skcircle.com/?id=1193

相機鏡頭購買鏈接

1.?https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.86.119e7484FcxYWy&id=613134277199

2.?https://detail.tmall.com/item.htm?spm=a1z0d.6639537.1997196601.13.119e7484FcxYWy&id=610617969641

3.?https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.24.119e7484FcxYWy&id=563772167933

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252274.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252274.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252274.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

響應式網頁布局 - W3Schools How-Tos 01

W3Schools教學系列 W3Schools是知名的網頁設計/前端開發教學網站,不僅提供HTML、CSS、JavaScript等的詳盡教學,還可以把它當作說明文件(Documents)。有經驗的前端或多或少已經接觸過這個網站,因為它經常出現…

正則表達式,終極使用!3個工具,搞定一切

文章前提,本人。不會正則的不論什么語法,僅僅懂一點正則的概念。本人從未自己寫過正則,都是網上收羅進行改動的。相同。沒有時間去研究正則。 可是為了方便,入手了幾個工具。 如今就為大家一一展示。 第一個,regexBuil…

iOS 在tableview的側滑事件里執行tableView.selectRow無效的解決辦法

很奇怪的問題,在執行默認選中一個cell的時候,突然發現這句話不起作用了 (我的場景是:當前cell側滑刪除后,默認選中上一個cell) 搞了半天,終于發現罪魁禍首竟然是因為:這句話寫在了側…

VS2017 C++工程 執行python腳本

我解決了哪怕很小的一個問題,我也想記錄下來來見證我的經歷。 背景: 一、使用libhuru庫生成pdf報告 最近參與一些測試工作,希望測試結束后能夠根據測試得到的數據和圖像自動生成測試報告,最開始調研到了生成報告的庫有libharu和…

標準正弦波變頻電源調制方式的實現

目前變頻電源正不斷向規模化、專業化、智能化、精細化方向發展。變頻電源的技術隨著工業電器電子制造的興起而不斷得到重視和發展。其中,中港揚以正弦脈SPWM為核心變頻電源系統電路便是一個很好的代表。純硬件電路在焊接電路上比較復雜,但是調節出來的SPWM波形比較完…

Jmeter教程索引貼

Jmeter教程索引貼 新的一年即將到來,不知不覺2015年自己在Jmeter方面總結的文章有十幾篇,在此匯總一下,順便也算是個總結吧。2016年,繼續學習技術,總結,寫文章。 一、基礎部分: 使用Jmeter進行h…

類與接口(二)java的四種內部類詳解

引言 內部類,嵌套在另一個類的里面,所以也稱為 嵌套類; 內部類分為以下四種: 靜態內部類成員內部類局部內部類匿名內部類一、靜態內部類 靜態內部類: 一般也稱”靜態嵌套類“,在類中用static聲明的內部類。 因為是stat…

單例設計模式和多線程

單例設計模式 單例&#xff1a;整個項目中&#xff0c;有某個類或者某些特殊的類&#xff0c;屬于該類的對象只能建立一個。 #include<iostream> using namespace std;class MyCAS { private:MyCAS(){}private:static MyCAS *m_instance;public:static MyCAS *GetInstanc…

運行imgui例程

背景&#xff1a;目前在做一個視覺測試系統&#xff0c;需要做一個界面&#xff0c;將相機獲取的圖像&#xff0c;以及測試過程中的數據呈現在界面上&#xff0c;在我印象里&#xff0c;做界面就用qt吧&#xff0c;直到這個月真要開始做界面了&#xff0c;我的領導給我建議用im…

性能測試總結(三)--工具選型篇

性能測試總結(三)--工具選型篇 本篇文章主要簡單總結下性能測試工具的原理以及如何選型。性能測試和功能測試不同&#xff0c;性能測試的執行是基本功能的重復和并發&#xff0c;需要模擬多用戶&#xff0c;在性能測試執行時需要監控指標參數&#xff0c;同時性能測試的結果不是…

創建一個最簡單的imgui測試用例

在上一篇文章中&#xff0c;我們初步認識了一下imgui,并且成功運行了他提供的demo。這只是開始學習imgui的第一步&#xff0c;在實際使用時&#xff0c;我們需要將imgui應用到自己的工程中去&#xff0c;所以你需要具備將imgui加到你工程中去的能力&#xff0c;簡單起見&#x…

idea中maven的setting.xml的配置

2019獨角獸企業重金招聘Python工程師標準>>> <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&qu…

ref和out區別總結

ref&#xff1a;是必需要先初始化才能用,但調用時可以對它什么也不做.out&#xff1a;可以不初始化也能用,但調用時一定要對其賦值(即使已經初始化的也要賦值,哪怕是賦一個和原來一樣的值).轉載于:https://www.cnblogs.com/gjnsmallworld/p/7216206.html

繼 承(面向對象特征之一)

1&#xff1a;成員變量。 當子父類中出現一樣的屬性時&#xff0c;子類類型的對象&#xff0c;調用該屬性&#xff0c;值是子類的屬性值。 如果想要調用父類中的屬性值&#xff0c;需要使用一個關鍵字&#xff1a;super This&#xff1a;代表是本類類型的對象引用。 Super&…

如何將cv::Mat類型轉換為imgui中的ImTextureID類型

背景&#xff1a; 我原來的工程是使用opencv的&#xff0c;所以程序中的圖像都是表示為cv::Mat類型&#xff0c;為了能夠在imgui窗口中顯示我的cv::Mat的圖像&#xff0c;我找到了下面這個函數&#xff1a; void ImGui::Image(ImTextureID user_texture_id, const ImVec2&…

react native 原生模塊橋接的簡單說明

原文出自&#xff1a;https://github.com/prscX/awes...博客鏈接&#xff1a;https://ssshooter.com/2019-02... Android 創建原生模塊包 通過繼承 ReactPackage 為你的原生模塊包創建 Java 類&#xff0c;可以這么寫&#xff1a;覆蓋 createNativeModules 和 createViewManage…

UVa 1354 天平難題 枚舉二叉樹

題意&#xff1a;給出房間寬度 r 和 s 個掛墜的重量 wi&#xff0c;設計一個盡量寬的天平&#xff0c;掛著所有掛墜。天平由一些長度為 1 的木棍組成&#xff0c;木棍的每一端要么掛一個掛墜&#xff0c;要么掛另外一個木棍。 這題卡了很久&#xff0c;看了很多大神的代碼&…

通過指針便利圖像元素

for (size_t y 0; y < image.rows; y) {//row_ptr為第y行的頭指針&#xff0c;unsigned char* row_ptr image.ptr<unsigned char>(y);for (size_t x 0; x < image.cols; x) {//data_ptr: 指向待訪問像素unsigned char* data_ptr &row_ptr[x*image.channels…

[精華][推薦]SSO CAS單點登錄框架學習 搭建詳細步驟及源碼

1.了解單點登錄 SSO 主要特點是: SSO 應用之間使用 Web 協議(如 HTTPS) &#xff0c;并且只有一個登錄入口. SSO 的體系中有下面三種角色: 1) User(多個) 2) Web 應用(多個) 3) SSO 認證中心(一個) 2.SSO 實現包含以下三個原則 1) 所有的登錄都在 SSO 認證中心進行。 2) SS…

電腦下載的M4A格式文件怎么轉換為MP3格式

M4A文件格式并不是一個家喻戶曉的名字&#xff0c;與&#xff2d;&#xff30;&#xff13;格式相比&#xff0c;知名度遠遠落后。但是&#xff0c;這并不意味著它無關緊要&#xff0c;有時候我們下載的音樂可能就是M4A格式的&#xff0c;如果換一個設備播放可能就會出現格式不…