Getting Hardware Information
Getting Hardware Information
To connect to an image acquisition device from within MATLAB®, you must create a video input object. This object represents the connection between MATLAB and the device. You can use object properties to control various aspects of the acquisition. Before you can create the object, you need several pieces of information about the device that you want to connect to.
To access an image acquisition device, the toolbox needs several pieces of information:
The name of the adaptor the toolbox uses to connect to the image acquisition device
The device ID of the device you want to access
The video format of the video stream or, optionally, a device configuration file (camera file)
You use the imaqhwinfo
function to retrieve this information, as
described in the following subsections.
Note
When using imaqhwinfo
to get information about a device, especially
devices that use a Video for Windows® (VFW) driver, you might encounter dialog boxes reporting an assertion error.
Make sure that the software drivers are installed correctly and that the acquisition
device is connected to the computer.
Determining the Device Adaptor Name
An adaptor is the software the toolbox uses to communicate with an image acquisition device via
its device driver. The toolbox includes adaptors for some vendors of image acquisition
equipment and for particular classes of image acquisition devices. For the latest
information about supported hardware, visit the Image Acquisition Toolbox™ product page at the MathWorks® Web site (www.mathworks.com/products/image-acquisition
).
To determine which adaptors are available on your system, call the
imaqhwinfo
function. The imaqhwinfo
function returns
information about the toolbox software and lists the adaptors available on the system in the
InstalledAdaptors
field. In this example, there are two adaptors
available on the system.
imaqhwinfo ans = InstalledAdaptors: {'matrox' 'winvideo'} MATLABVersion: '7.4 (R2007a)' ToolboxName: 'Image Acquisition Toolbox' ToolboxVersion: '2.1 (R2007a)'
Note
While every adaptor supported by the Image Acquisition Toolbox software is installed with the toolbox, imaqhwinfo
lists
only adaptors in the InstalledAdaptors
field that are loadable. That
is, the device drivers required by the vendor are installed on the system. Note, however,
that inclusion in the InstalledAdaptors
field does not necessarily mean
that an adaptor is connected to a device.
Determining the Device ID
The adaptor assigns a unique number to each device with which it can communicate. The adaptor assigns the first device it detects the device ID 1, the second it detects the device ID 2, and so on.
To find the device ID of a particular image acquisition device, call the
imaqhwinfo
function, specifying the name of the adaptor as the only
argument. When called with this syntax, imaqhwinfo
returns a structure
containing information about all the devices available through the specified adaptor.
In this example, the imaqhwinfo
function returns information about
all the devices available through the Matrox® adaptor.
info = imaqhwinfo('matrox'); info = AdaptorDllName: [1x73 char] AdaptorDllVersion: '2.1 (R2007a)' AdaptorName: 'matrox' DeviceIDs: {[1]} DeviceInfo: [1x1 struct]
The fields in the structure returned by imaqhwinfo
provide the
following information.
Field | Description |
---|---|
| Character vector that identifies the name of the adaptor dynamic link library (DLL) |
| Information about the version of the adaptor DLL |
| Name of the adaptor |
| Cell array containing the device IDs of all the devices accessible through this adaptor |
| Array of device information structures. See Getting More Information About a Particular Device for more information. |
Getting More Information About a Particular Device
If an adaptor provides access to multiple devices, you might need to find out more
information about the devices before you can select a device ID. The
DeviceInfo
field is an array of device information structures. Each
device information structure contains detailed information about a particular device
available through the adaptor.
To view the information for a particular device, you can use the device ID as a
reference into the DeviceInfo
structure array. Call
imaqhwinfo
again, this time specifying a device ID as an
argument.
dev_info = imaqhwinfo('matrox',1) dev_info = DefaultFormat: 'M_RS170' DeviceFileSupported: 1 DeviceName: 'Orion' DeviceID: 1 VideoInputConstructor: 'videoinput('matrox', 1)' VideoDeviceConstructor: 'imaq.VideoDevice('matrox', 1)' SupportedFormats: {1x10 cell}
The fields in the device information structure provide the following information about a device.
Field | Description |
---|---|
| Character vector that identifies the video format used by the device if none is specified at object creation time |
| If set to 1, the device supports device configuration files; otherwise 0. See Using Device Configuration Files (Camera Files) for more information. |
| Descriptive character vector, assigned by the adaptor, that identifies the device |
| ID assigned to the device by the adaptor |
| Default syntax you can use to create a video input object to represent this device. See Creating Image Acquisition Objects for more information. |
VideoDeviceConstructor | Default syntax you can use to create a VideoDevice System object to represent this device. |
| Cell array of character vectors that identify the video formats supported by the device. See Determining Supported Video Formats for more information. |
Determining Supported Video Formats
The video format specifies the characteristics of the images in the video stream, such as the image resolution (width and height), the industry standard used, and the size of the data type used to store pixel information.
Image acquisition devices typically support multiple video formats. You can specify the video format when you create the video input object to represent the connection to the device. See Creating Image Acquisition Objects for more information.
Note
Specifying the video format is optional; the toolbox uses one of the supported formats as the default.
To determine which video formats an image acquisition device supports, look in the
SupportedFormats
field of the DeviceInfo
structure
returned by the imaqhwinfo
function. To view the information for a
particular device, call imaqhwinfo
, specifying the device ID as an
argument.
dev_info = imaqhwinfo('matrox',1) dev_info = DefaultFormat: 'M_RS170' DeviceFileSupported: 1 DeviceName: 'Orion' DeviceID: 1 VideoInputConstructor: 'videoinput('matrox', 1)' VideoDeviceConstructor: 'imaq.VideoDevice('matrox', 1)' SupportedFormats: {1x10 cell}
The DefaultFormat
field lists the default format selected by the
toolbox. The SupportedFormats
field is a cell array containing character
vectors that identify all the supported video formats. The toolbox assigns names to the
formats based on vendor-specific terminology. If you want to specify a video format when you
create an image acquisition object, you must use one of the character vectors in this cell
array. See Creating Image Acquisition Objects for more
information.
celldisp(dev_info.SupportedFormats) ans{1} = M_RS170 ans{2} = M_RS170_VIA_RGB ans{3} = M_CCIR ans{4} = M_CCIR_VIA_RGB ans{5} = M_NTSC ans{6} = M_NTSC_RGB ans{7} = M_NTSC_YC ans{8} = M_PAL ans{9} = M_PAL_RGB ans{10} = M_PAL_YC