.


:




:

































 

 

 

 


 

2-08 ..

. . , . .

. . , . .

 

2011

 


 

. 5

1 ..6

2 .7

3 .. 11

4 13

4.1 ..13

4.2 ⅅ15

4.3 .24

5 ()..27

6 .31

充.32

ⅅ..34

 

 

. , , .

( , ). , , .

.

, , , , , . .
1

 

. , , , .

, , , , .

, .

, . .

 

 


2

, , . n , n+1 , .. - . () ( ). 0/ , 1/ . 1.

, , n . , . . .. , n .. , .

1. .

:

.

. , . , :

. (2.1)

( B), ( C) :

, (2.2)

w h , (i,j) , .

2 : ( - , ) ( - ). () .. . . , .

2) .

, . ..

(2.3)

n ( ) . . , , , . :

1) n . ..

(2.4)

- n .

2) . (i,j) .

(2.5)

, .

e . . e

(2.6)

a , e-. e = 3 (.. Mahalanobis distance) . .. , . , , , RGB , . RGB 3 3 . .


3

TBackground TNRBackround. TBackground . . Mask . , :

- AStep, ( 2, );

- delt, , ( 2.2)

- count, .

- Sensetiv, , , .

.

CompImg . , true , Sensetiv , , . TBitmap , , , , .

TNRBackground , , Mask. , Mask , , ( 2.4). delt e ( 2.5). . n , , .

, . TShowAnim TThread.

 


4

4.1

 

, 4.1.

4.1

 

, , TMemo . , .

. , , .

, . .

, .

, , , . . :

- ;

- , .

- , . , , ( ), , : , , .

- .

- , .

- .

- , .

4.2

 

:

1. ()

2. ()

3. .

4. .

.


4.2.1 ()

 

, . . RGB. ( )

4.2.

 

4.2 ()


4.2.2 () .

 

, . , .

n .

2.4.

4.3.

 

 

4.3 () .

 

4.3.3 .

 

 

. - 2.1.

:

- , . , , , .

4.4.

 

4.4

.

4.3.3 .

 

 

. M D. . 2.5.

4.5.

4.5

4.3 .

 

. DSPack.

. 4.6 DSPack

DSPack DirectShow, :

- TFilterGraph. DirectShow. .

- TFilter, , IbaseFilter. . DirectShow.

- TVideoWindow, () .

. SysDevEnum, . , :

SysDev:= TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);

, :

if SysDev.CountFilters > 0 then

for i:= 0 to SysDev.CountFilters - 1 do

begin

Device:= TMenuItem.Create(Devices);

Device.Caption:= SysDev.Filters[i].FriendlyName;

Device.Tag:= i;

Device.OnClick:= OnSelectDevice;

Devices.Add(Device);

end;

OnSelectDevice, :

Filter.BaseFilter.Moniker:= SysDev.GetMoniker(TMenuItem(Sender).tag);

FilterGraph.Active:= true;

with FilterGraph as ICaptureGraphBuilder2 do

RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);

FilterGraph.Play;

SampleGrabber. SampleGrabber.GetBitmap(img).

, . SampleGrabber: :

procedure TVideoForm.GetResolution(var VWidth,VHeight:integer);

var

info:_AMMediaType;

begin

SampleGrabber.SampleGrabber.GetConnectedMediaType(info);

VWidth:=VIDEOINFOHEADER(info.pbFormat^).bmiHeader.biWidth;

VHeight:=VIDEOINFOHEADER(info.pbFormat^).bmiHeader.biHeight;

end;

 

 


5 ()

 

. , , ( 3DSMax), , -.

 

5.1 - .

1)

5.1 .

 

, , , .

 

 

2) .

5.2 .

 

, . , 0 . 2.5, , . , 0 , , 0. (2.5) .

 

 

5.2 - .

1) .

 

 

 

5.4 .

, (40), (10) .

2) .

 

 

 

 

 

5.4 .

 

6

 

. . , , . .

. . , . , , .

, .

, . .

, , , .

, .

 


 

- , , , , . , "" . , , . , , .

, "" , . , , , . , , . , , , , . , , , , .

, . , . . , , ( ), .

. , .




<== | ==>
. . | . .
:


: 2017-03-12; !; : 485 |


:

:

, , .
==> ...

998 - | 762 -


© 2015-2024 lektsii.org - -

: 0.106 .