This part discusses the new features introduced in the latest IC Imaging Control releases.
Transitioning from IC Imaging Control 3.x C++ Class Library contains hints for programmers experienced with version 3.5 of the IC Imaging Control C++ Library.
Version History
IC Imaging Control 4 Version 1.0
IC Imaging Control 4 Version 1.1
- Added
ic4interop
libraries:
- Add interop support for OpenCV (ic4interop::OpenCV), providing options to operate on ic4::ImageBuffer objects through OpenCV functions or copy data into
cv::Mat
objects.
- Add interop support for MVTec HALCON (ic4interop::HALCON), providing functions to copy image data between ic4::ImageBuffer objects and
HImage
objects.
- Add interop support for Qt5 and Qt6 (ic4interop::Qt), providing classes for displaying camera images in Qt applications.
- Added additional overloads to ic4::QueueSink creation function taking a single
std::function
object to be executed when frames are queued.
This can be used to simplify code when only ic4::QueueSinkListener::framesQueued would be implemented.
- ic4::Grabber::deviceOpen(const char*, ic4::Error&) has been enhanced to also accept the IPV4 address or MAC address of a GigE Vision camera.
- ic4::PropertyMap::setValue(const char*, const char*, ic4::Error& err) and ic4::PropertyMap::setValue(const std::string&, const std::string&, ic4::Error& err) have been enhanced to allow selecting enumeration entries by their display name.
- Added support for rendering into a user-created OpenGL context (see ic4::ExternalOpenGLDisplay).
- Added ic4::getVersionInfo.
- Added pseudo-pixelformats for setting any bayer format (ic4::PixelFormat::AnyBayer8, ic4::PixelFormat::AnyBayer10p, ic4::PixelFormat::AnyBayer12p, ic4::PixelFormat::AnyBayer16).
IC Imaging Control 4 Version 1.2
- First release with Linux support
- Add support for saving images and video from image buffers with Y411 formats.
- ic4::Grabber's constructor can be passed a ic4::DeviceInfo or device identifier to open immediately.