Impact Acquire SDK C++
|
The ContinuousCaptureAllFormats program is based on the ContinuousCapture.cpp example. It however will show the captured images in all pixel formats supported by Impact Acquire. Each format will be displayed in a raw and a user friendly way on 2 separate display windows. The raw display will simply blit the raw memory on the canvas which e.g. for YUV will not result in something that should be presented to a user. The converted window however proofs that the display module of Impact Acquire can deal with every pixel format.
[0]: BF000306 (mvBlueFOX-202C, Family: mvBlueFOX, interface layout: DeviceSpecific) Please enter the number in front of the listed device followed by [ENTER] to open it: 0 Using device number 0. Initialising the device. This might take some time... Please note that only the window displaying the converted image will display correct images all the time. The other window will simply blit the raw image data in the client area. This is faster but e.g. for 12 bit mono data or YUV data will result in unexpected results. For planar formats e.g. just the first plane might be visible. For certain other formats the unconverted window might even blit no data at all. This e.g. will be the case for 10-16 bit RGB packed data. The following formats are available: [0]: Auto [1]: Raw [2]: Mono8 [6]: Mono10 [7]: Mono12 [28]: Mono12Packed_V1 [19]: Mono12Packed_V2 [8]: Mono14 [9]: Mono16 [22]: BGR888Packed [23]: BGR101010Packed_V2 [10]: RGB888Packed [14]: RGB101010Packed [15]: RGB121212Packed [16]: RGB141414Packed [17]: RGB161616Packed [3]: RGBx888Packed [30]: RGB888Planar [5]: RGBx888Planar [29]: YUV411_UYYVYY_Packed [4]: YUV422Packed [18]: YUV422_UYVYPacked [20]: YUV422_10Packed [21]: YUV422_UYVY_10Packed [24]: YUV444_UYVPacked [25]: YUV444_UYV_10Packed [26]: YUV444Packed [27]: YUV444_10Packed [13]: YUV422Planar Currently using Auto. Press [ENTER] to switch to the next format Info from BF000306: FramesPerSecond: 28.655655, ErrorCount: 0, CaptureTime_s: 0.103982, OK Info from BF000306: FramesPerSecond: 28.655673, ErrorCount: 0, CaptureTime_s: 0.103329, OK
The continuous acquisition is similar to the single capture. The only major difference is, that this sample continuously requests images from the device.
However the general stuff (selection of a device etc.) is similar to the SingleCapture.cpp source example. The sample initializes two display windows for the raw and the converted data when creating an instance of the ThreadParameter
structure:
The thread callback as shown in the ContinuousCapture.cpp example updates the displays and after pressing any key the next pixel format will be shown:
After the last pixel format the application stops after a last click on any key.
All pixel formats that are supported by Impact Acquire will be processed and displayed. To find out which pixel formats are supported refer to mvIMPACT::acquire::TImageBufferPixelFormat.