필터 지우기
필터 지우기

ActiveX, Camera uEye

조회 수: 6 (최근 30일)
Jirka Kolben
Jirka Kolben 2011년 9월 2일
댓글: Myrtle42 2018년 6월 13일
Hello, i have uEye cam and i need control the camera by ActiveX interface in matlab.
code:
actxcontrollist
h=actxcontrol('UEYECAM.uEyeCamCtrl.1','position',[20 20 640 512]);
methods(h)
d=h.InitCamera(1)
But matlab show error dialog: ERROR while calling error function. Propably not initialized.
Please help me. Thanks
  댓글 수: 1
Adam Wyatt
Adam Wyatt 2015년 6월 4일
I've created a file exchange submission which should significantly aid you all: File ID: #51099

댓글을 달려면 로그인하십시오.

채택된 답변

Adam Wyatt
Adam Wyatt 2014년 12월 9일
ActiveX uses the COM interface, which is now no longer supported by IDS (uEye cameras). It is now recommended to use the .NET interface, which is fairly similar to the end user). Here is an example:
Using the .NET assembly is not quite as straightforward as with C# because Matlab does not directly support pointers, but there is a workaround as pointed out below.
Remember to "EXIT" your camera before trying to re-initialise the same camera
% Add NET assembly if it does not exist
% May need to change specific location of library
asm = System.AppDomain.CurrentDomain.GetAssemblies;
if ~any(arrayfun(@(n) strncmpi(char(asm.Get(n-1).FullName), ...
'uEyeDotNet', length('uEyeDotNet')), 1:asm.Length))
NET.addAssembly(...
'C:\Program Files\IDS\uEye\Develop\DotNet\signed\uEyeDotNet.dll');
end
% Create camera object handle
cam = uEye.Camera;
% Open 1st available camera
% Returns if unsuccessful
if ~strcmp(char(cam.Init), 'SUCCESS')
error('Could not initialize camera');
end
% Set display mode to bitmap (DiB)
if ~strcmp(char(cam.Display.Mode.Set(uEye.Defines.DisplayMode.DiB)), ...
'SUCCESS')
error('Could not set display mode');
end
% Set colormode to 8-bit RAW
if ~strcmp(char(cam.PixelFormat.Set(uEye.Defines.ColorMode.SensorRaw8)), ...
'SUCCESS')
error('Could not set pixel format');
end
% Set trigger mode to software (single image acquisition)
if ~strcmp(char(cam.Trigger.Set(uEye.Defines.TriggerMode.Software)), 'SUCCESS')
error('Could not set trigger format');
end
% Allocate image memory
[ErrChk, img.ID] = cam.Memory.Allocate(true);
if ~strcmp(char(ErrChk), 'SUCCESS')
error('Could not allocate memory');
end
% Obtain image information
[ErrChk, img.Width, img.Height, img.Bits, img.Pitch] ...
= cam.Memory.Inquire(img.ID);
if ~strcmp(char(ErrChk), 'SUCCESS')
error('Could not get image information');
end
% Acquire image
if ~strcmp(char(cam.Acquisition.Freeze(true)), 'SUCCESS')
error('Could not acquire image');
end
% Extract image
[ErrChk, tmp] = cam.Memory.CopyToArray(img.ID);
if ~strcmp(char(ErrChk), 'SUCCESS')
error('Could not obtain image data');
end
% Reshape image
img.Data = reshape(uint8(tmp), [img.Width, img.Height, img.Bits/8]);
% Draw image
himg = imshow(img.Data, 'Border', 'tight');
% Acquire & draw 100 times
for n=1:100
% Acquire image
if ~strcmp(char(cam.Acquisition.Freeze(true)), 'SUCCESS')
error('Could not acquire image');
end
% Extract image
[ErrChk, tmp] = cam.Memory.CopyToArray(img.ID);
if ~strcmp(char(ErrChk), 'SUCCESS')
error('Could not obtain image data');
end
% Reshape image
img.Data = reshape(uint8(tmp), [img.Width, img.Height, img.Bits/8]);
% Draw image
set(himg, 'CData', img.Data);
drawnow;
end
% Close camera
if ~strcmp(char(cam.Exit), 'SUCCESS')
error('Could not close camera');
end
  댓글 수: 2
Yarden Allon
Yarden Allon 2015년 7월 26일
Hi Adam, Do you know how to get a live video feed using the .NET interface?
Myrtle42
Myrtle42 2018년 6월 13일
Hi Adam and Yarden -- I have the same question, wondering if anyone found a solution. I'd like to record video from an IDS uEye camera using the .NET interface in freerun mode to get the max framerate. Can anyone provide an example of 1) Configuring the camera in freerun mode and 2) Saving the resulting video as either .avi or mp4?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Wolfgang
Wolfgang 2014년 8월 4일
Hi Jirka, did you manage to control the camera? I'm having similar problems at the moment... Thank you for your help!

카테고리

Help CenterFile Exchange에서 MATLAB Support Package for USB Webcams에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by