在DELPHI中設定攝像頭引數

2021-04-24 21:59:42 字數 1756 閱讀 8250

本例子借助了dspack包,只是為了方便,不要它也可以,直接呼叫com。使用directshow9的功能。程式須引用directshow9, dspack,dsutil,comctrls,activex單元。具體如下:

var capenum: tsysdevenum;

begin

capenum := tsysdevenum.create(clsid_videoinputdevicecategory);

end;

2、設定亮度、飽和度等

varhr:longint;

pprocamp: iamvideoprocamp;

prop:tvideoprocampproperty;

val:longint;

flags: tvideoprocampflags

begin

hr := capenum.getbasefilter(0).queryinte***ce(iid_iamvideoprocamp, pprocamp);

if (succeeded(hr)) then

begin

pprocamp.set_(prop,val,flags);

end;

end;

其中iamvideoprocamp,tvideoprocampproperty,tvideoprocampflags均為directshow9定義的型別。

tagvideoprocampproperty = (

videoprocamp_brightness,

videoprocamp_contrast,

videoprocamp_hue,

videoprocamp_saturation,

videoprocamp_sharpness,

videoprocamp_gamma,

videoprocamp_colorenable,

videoprocamp_whitebalance,

videoprocamp_backlightcompensation,

videoprocamp_gain

);可用這裡面的值指定要設定的引數。

tagvideoprocampflags = (

videoprocamp_flags_invalid_0,

videoprocamp_flags_manual,

videoprocamp_flags_auto

videoprocamp_flags_manual = 1,

videoprocamp_flags_auto

);指定是手動設定還是自動設定,奇怪的是用videoprocamp_flags_manual值的話設定的是自動,要手動設定要用videoprocamp_flags_auto。

3、**度設定與其他不同,使用不同的介面

var hr:longint;

pprocamc: iamcameracontrol;

val:longint;

flags:tcameracontrolflags;

begin

hr := capenum.getbasefilter(0).queryinte***ce(iamcameracontrol, pprocamc);

if (succeeded(hr)) then

begin

pprocamc.set_(cameracontrol_exposure,val,flags);

end;

end;

引數可觀察directshow9單元。

攝像頭引數的設定

f專案進行到最終介面設計階段了。在把320x240解析度的攝像頭影象放到640x480的視窗之後,解析度很低,決定新增讓使用者選擇解析度的介面。先看了directx自帶的amcap sample,在裡面找到這樣一段 先是用icapturegraphbuilder2 findinte ce將captu...

監控攝像頭引數

筒形和球型 焦距無法更改,貴一些的攝像頭可以調焦 攝像頭個數 單位時間資料流量,單位bps 有dc直流電源供電和poe供電兩種,poe供電相對於直流電源供電,只需連線poe交換機或poe網路硬碟錄影機即可供電,施工和維護更加簡單方便。非poe供電 每個攝像頭需要電線 網線 pvc套管 插座 安防電源...

監控攝像頭引數

筒形和球型 焦距無法更改,貴一些的攝像頭可以調焦 攝像頭個數 單位時間資料流量,單位bps 有dc直流電源供電和poe供電兩種,poe供電相對於直流電源供電,只需連線poe交換機或poe網路硬碟錄影機即可供電,施工和維護更加簡單方便。非poe供電 每個攝像頭需要電線 網線 pvc套管 插座 安防電源...