Matlab compiler + image acquisition issue

matlab user · Feb 1, 2022 · 1.9K views
Question
I am currently able to run some code to capture images from a GigE camera on one of my 32 bit Windows machines. I have the following code in one of my functions:   vidObj = videoinput('wininput', 1, 'Y800_1280x960'); src = getselectedsource(vidObj); set(src, 'Exposure', 10); When I compile this code and run the exe on another 32 bit machine it doesn't work (after installing MCR on the other machine), unless I change to vidObj = videoinput('wininput', 1), and I remove the line setting the exposure. The first problem I can live with, but I need to be able to set the exposure.
Expert Answer
Profile picture of John Michell
John Michell PhD Expert
Answered Aug 20, 2026

For the first question, you probably have two cameras - your gige camera and the built-in webcam. You need to get the adapter you want. Play around with this code snippet to adapt it to your needs:

 

  hardwareInfo = imaqhwinfo % Print what cameras are there.
  adaptorNames = hardwareInfo.InstalledAdaptors;
  % Might look something like:
  % InstalledAdaptors: {'dcam'  'gentl'  'gige'  'lumeneraimaqw64'  'matrox'  'winvideo'}
  matches = strfind(adaptorNames, 'lumenera');
  % Find out which index is the Lumenera Camera.
  LumeneraIndex = find(~cellfun(@isempty, matches));
  theLumeneraAdaptor = adaptorNames{LumeneraIndex}

  hw2 = imaqhwinfo(theLumeneraAdaptor)
  devInfo = hw2.DeviceInfo
  devName = devInfo.DeviceName
  devID = devInfo.DeviceID

For the next question, don't use set(). Simply do this:

src.exposure = theDesiredExposureValue;

 

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!