FILE: MVIDEOSVC\README.TXT ACTIVEX MEDUSA VIDEO SERVICE V1.0 ----------------------------------------- 1. About Medusa Video ActiveX Service. 2. Known Limitations 3. Files 4. Installation 5. Matlab Use ------------------------------------------ 1. About Medusa Video ActiveX Service. MVideoSvc.exe is a NT Service running on a local computer at VisLab that provides image grabbing capabilities with the stereo head Medusa. The service exposes its internal functionality to most programming languages and environments in Windows platforms. It was designed to be accessed via Matlab and C++ clients, but can be used by other compiled/scripted languages. It can be accessed by users registered on the server machine, running Windows with DCOM support (most recent versions do this by default). 2. Known Limitations - Only works with MATLAB 6.0 or later. 3. Files MVideoSvc is distributed in a zip file (MVideoSvc.zip) that includes the following files: MVIDEOSVC.REG - a registration script that let the client machine know about the service. README.TXT - this file TEST.M - A Matlab script file with testing code PROBLEMS.TXT - Description of some problems found in this release 4. Installation Installation of the MVideoSvc - Unpack the "MVideoSvc.zip" file to a new directory. - Run the registration script "MVIDEOSVC.REG" - Enable DCOM services on your machine. For this you must have administrator rights, run DCOMCNFG.EXE and check the box enabling DCOM on your machine. 5. The service can be called by any ActiveX aware scripting languages like Java, VisualBasic and Matlab. The following lines shows the basic use of this object in Matlab. This code is included in Matlab script file TEST.M. %GET AN HANDLE TO THE SERVICE > h = actxserver('MVideoSvc.Grabber','MEDUSA'); %LIST SERVICE PROPERTIES > get(h) %LIST SERVICE METHODS > invoke(h) %LIST AVAILABLE ACQUISITION MODES > invoke(h,'list_modes'); %CHOOSE ACQUISISTION MODE > h.mode = 'input0rgb512x768'; %START GRABBING SERVICE > invoke(h,'start'); %GRAB IMAGE WITH SPECIFIC SUBSAMPLING (4 IN THIS CASE) > invoke(h,'grab', 4); %GET IMAGE FROM SERVER. IMAGE COLORS CHANNELS ARE SEPARATED BY PLANES %THE GREEN CHANNEL CONTAINS THE LEFT CAMERA IMAGE %THE RED CHANNEL CONTAINS THE RIGHT CAMERA IMAGE > left_img = h.green; > right_img = h.red; %SHOW IMAGES > figure; imshow(left_img);set(gcf,'Name','Left Camera'); > figure; imshow(right_img);set(gcf,'Name','Right Camera'); %STOP GRABBING SERVICE > invoke(h,'stop'); %TERMINATE SESSION > release(h); For more information check matlab help on integration with activex objects Copyright (c) 2002, Alexandre Bernardino - ISR/IST. All rights reserved. alex@isr.ist.utl.pt