DirectShow 接口訪問相機參數設置方法

本文檔適用於所有適用 directshow 接口訪問相機的程序,例如 MATLAB和 Labview 的 ImaqDx 接口、Halcon 的 Directshow 接口等。

MATLAB 中,可以通過如下界面設置相機參數:


DirectShow 接口訪問相機參數設置方法

Labview 的 NIMAX 中可以通過如下界面設置相機參數:


DirectShow 接口訪問相機參數設置方法

下面以 Labview 為例,介紹 Labview 中如何通過 ImaqDx 接口訪問邁德威視工業相機。

目前,我們提供三種方式,在 Labview 中訪問我們的相機:

1. GigeVision 接口。僅我司 GigE 相機支持該方式訪問。

2. 直接基於SDK 的DLL 文件調用的方式。該方式支持我們所有型號相機。例程在安裝目錄的 DEMO/LABVIEW/USEDLL 文件夾中。

3. 通過 ImaqDx 使用 Directshow 接口訪問相機。該方式支持我們所有型號相機。

Directshow 接口是 windows 系統上的音視頻標準接口,定義了一些預先約定好的協議,但是由於協議定義時間比較早,也沒有為工業攝像頭考慮參數接口,所以接口的參數配置上,沒有像使用我們的 SDK 那樣靈活。我們針對此問題,做了一些特殊處理,擴展了 Dircetshow 接口中 Camera Atrributes 的“White Balance”屬性,目前可以該方式進行如下操作:

1. 設置相機工作模式(連續採集、軟觸發、硬觸發)

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 0,則相機進入連續工作模式;

 設置為 1,則相機進入軟觸發工作模式;

 設置為 2 則相機進入硬觸發工作模式。3

2. 執行一次軟觸發

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值 為 3,則相機進行一次軟觸發,如果要多次軟觸發,則重複設置“White Balance”屬性的 Value 值 為 3 即可,每設置一次,進行一次軟觸發。(該命令必須是先將相機設置為軟觸發模式後才有效)。

3. 設置硬件觸發信號種類(上邊沿、下邊沿、高電平、低電平)

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 4,則選擇觸發信號的上邊沿跳變為觸發條件;

 為 5,則選擇觸發信號的下邊沿跳變為觸發條件;

 為 6,則選擇高電平為觸發條件;

 為 7,則選擇低電平為觸發條件。

(該命令必須是先設置相機為外觸發工作模式時才有效)。

4. 設置閃光燈信號輸出模式

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 8,則相機輸出閃光燈的信號時序自動產生;

 為 9,則相機輸出閃光燈信號的時序,由程序配置產生,比如可以指定輸出的脈衝寬度,極性、延時時間等。

5. 設置相機上 GPIO 的電平值(僅對 OutPut 類型 IO 有效)

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值4

 為 10,則設置相機上第 1 個 OutPut IO 的狀態為低電平。

 為 11,則設置相機上第 1 個 OutPut IO 的狀態為高電平。

 為 12,則設置相機上第 2 個 OutPut IO 的狀態為低電平。

 為 13,則設置相機上第 2 個 OutPut IO 的狀態為高電平。

 為 14,則設置相機上第 3 個 OutPut IO 的狀態為低電平。

 為 15,則設置相機上第 3 個 OutPut IO 的狀態為高電平。

 為 16,則設置相機上第 4 個 OutPut IO 的狀態為低電平。

 為 17,則設置相機上第 4 個 OutPut IO 的狀態為高電平。

 為 18,則設置相機上第 5 個 OutPut IO 的狀態為低電平。

 為 19,則設置相機上第 5 個 OutPut IO 的狀態為高電平。

 為 20,則設置相機上第 6 個 OutPut IO 的狀態為低電平。

 為 21,則設置相機上第 6 個 OutPut IO 的狀態為高電平。

 為 22,則設置相機上第 7 個 OutPut IO 的狀態為低電平。

 為 23,則設置相機上第 7 個 OutPut IO 的狀態為高電平。

 為 24,則設置相機上第 8 個 OutPut IO 的狀態為低電平。

 為 25,則設置相機上第 8 個 OutPut IO 的狀態為高電平。

6. 設置相機上 GPIO 的電平值(僅對 OutPut 類型 IO 有效)

方法:在 Camera Atrributes 中,先設置“White Balance”屬性的 Value值為以下的數值之一,然後再進行一次 Camera Atrributes 的“White Balance”屬性讀取操作,返回的 value 值就表示電平狀態,0表示低電平,1 表示高電平,255 表示該相機不支持對應的 IO 讀取操作。如果需要反覆讀取某個 IO 的狀態,則需要先進行一次設置操作,5再進行讀取操作,如此反覆,否則 IO 狀態不會更新。

 為 30,則讀取相機上第 1 個 InPut IO 的狀態。

 為 31,則讀取相機上第 2 個 InPut IO 的狀態。

 為 32,則讀取相機上第 3 個 InPut IO 的狀態。

 為 33,則讀取相機上第 4 個 InPut IO 的狀態。

 為 34,則讀取相機上第 5 個 InPut IO 的狀態。

 為 35,則讀取相機上第 6 個 InPut IO 的狀態。

 為 36,則讀取相機上第 7 個 InPut IO 的狀態。

 為 37,則讀取相機上第 8 個 InPut IO 的狀態。

7. 設置圖像採樣速度(幀率)

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 50,則設置相機採集速度為低速模式;

 為 51,則設置相機採集速度為中速模式;

 為 52,則設置相機採集速度為高速模式;

 為 53,則設置相機採集速度為超高速模式;

8. 圖像水平和垂直翻轉操作

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 60,禁止圖像水平翻轉;

 為 61,使能圖像水平翻轉;

 為 62,禁止圖像垂直翻轉;6

 為 63,使能圖像垂直翻轉;

9. 白平衡操作(僅對彩色相機有效)

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值為 70,則進行一次白平衡操作,進行白平衡前,相機成像的圖像裡需要有大塊的標準白色物體。

10. 設置曝光模式(自動模式、手動模式之間切換)

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 80,設置相機為手動曝光模式;

 為 81,設置相機為自動曝光模式;

11. 設置抗頻閃

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 82,禁止相機的抗頻閃功能;

 為 83,使能相機的抗頻閃功能;

直流光源請禁止抗頻閃功能。

12. 設置觸發信號的去抖時間

方法:在 Camera Atrributes 中,設置“White Balance”屬性的Value 值滿足 0x01000000 <= Value <=0x01FFFFFF,實際設置的去

抖時間為 Value&0x00FFFFFF ,單位為微秒。

該設置需要將相機切換到外觸發模式,並且觸發條件為電平觸發方式才有效。7

13. 設置觸發信號延時時間

方法:在 Camera Atrributes 中,設置“White Balance”屬性的Value 值滿足 0x02000000 <= Value <=0x02FFFFFF,實際設置的延時時間為 Value&0x00FFFFFF ,單位為微秒。

該設置需要將相機切換到外觸發模式才有效。

14. 設置半自動模式下閃光燈信號的輸出脈衝寬度

方法:在 Camera Atrributes 中,設置“White Balance”屬性的Value 值滿足 0x03000000 <= Value <=0x03FFFFFF,實際設置的脈衝寬度為 Value&0x00FFFFFF ,單位為微秒。

該設置需要將相機切的閃光燈信號方式切換到半自動模式下才有效。

15. 相機參數保存

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 100,保存當前相機參數到 A 組參數中;

 為 101,保存當前相機參數到 B 組參數中;

 為 102,保存當前相機參數到 C 組參數中;

 為 103,保存當前相機參數到 D 組參數中;

16. 相機參數加載

方法:在 Camera Atrributes 中,設置“White Balance”屬性的 Value值

 為 110,加載 A 組參數;8

 為 111,加載 B 組參數;

 為 112,加載 C 組參數;

 為 113,加載 D 組參數;

以上參數的設置是通過 Camera Atrributes 中,設置“White Balance”屬性的 Value 擴展而來。下面的參數是通過標準的接口。

17. 設置曝光時間

方法:在 Camera Atrributes 中,設置“Brightness”屬性的 Value值。範圍為 1 到 126531839 之間,單位為微秒,最大值以實際相機支持的最大曝光時間為準。9該設置,需要先設置相機的曝光模式為手動方式。參考“10.設置曝光模式”。

18. 設置曝光時間

方法:在 Camera Atrributes 中,設置“Brightness”屬性的 Value值。範圍為 1 到 126531839 之間,單位為微秒,最小值和最大值以實際相機支持的範圍為準,不同型號,範圍有所區別,請查閱產品手冊中

的相機參數表。該設置,需要先設置相機的曝光模式為手動方式。參考“10.設置曝光模式”。

19. 設置相機模擬增益

方法:在 Camera Atrributes 中,設置“Gain”屬性的 Value 值。範圍為 1 到 1000 之間,單位為最小模擬增益的步進值。實際調節範圍需以相機參數表為準,不同型號有所差異,請查閱產品手冊中的相機參

數表。該設置,需要先設置相機的曝光模式為手動方式。參考“10.設置曝光模式”。

20. 設置自動曝光的亮度目標

方法:在 Camera Atrributes 中,設置“Brightness”屬性的 Value值。範圍為 1 到 200 之間,單位為圖像灰度平均值。該設置,需要先設置相機的曝光模式為自動方式。參考“10.設置曝光模式”。

21. 設置圖像對比度10

方法:在 Camera Atrributes 中,設置“Contrast”屬性的 Value值。範圍為 1 到 200 之間。

22. 設置圖像伽馬值

方法:在 Camera Atrributes 中,設置“Gamma”屬性的 Value值。範圍為 1 到 1000 之間。分別對應伽馬的 0.01 到 10.0 的範圍。默認值是 1。

23. 設置圖像色彩飽和度

方法:在 Camera Atrributes 中,設置“Saturation”屬性的 Value值。範圍為 0 到 200 之間。0 則完全沒有圖像顏色,轉為黑白圖像。200則圖像色彩最濃。默認值是 100。

24. 設置圖像銳度

方法:在 Camera Atrributes 中,設置“Sharpness”屬性的 Value值。範圍為 0 到 100 之間。0 不進行銳化增強;100 最大級別銳化;默認值是 0,銳化可以提升圖像細節清晰度,但是也會增大噪聲。


分享到:


相關文章: