The purpose of this project is to replicate the functionality of an already integrated camera. We have a C++ application that supports a number of camera models. We are interested in adding support for a USB 3.0 camera from MatrixVision ( [url removed, login to view] ). We wish to outsource the integration of this camera into our engine.
Since the freelancer will need to connect to the physical camera hardware for this project, a development machine with Visual Studio and all the required hardware will be set up for them on site here and will be made available for remote access so that you may connect to the camera and integrate the camera SDK into our engine. We have a good broadband connection speed here so as long as you have the same then both connection speeds and work speeds should be fine.
A camera that we already support will also be available for you to connect to, along with its source code, so that you may understand what is required, to make the new camera work like the existing camera.
***It should be cookie cutter work to port across the logic and replace one camera SDK with another.***
You will be provided with both source code and binaries for multiple build configurations, enough sufficient to the task.
You will be expected to produce a high quality of code and to adhere to our coding standards.
You will be expected to submit patches for review prior to code being accepted and committed.
We will be available during UK office hours and you will be expected to be able to work on this project without excessive amounts of supervision.
As mentioned, the purpose of this project is to replicate the functionality of an already integrated camera. With that in mind, the information below may not be a complete list of features that we will require to be implemented but it should be a good indication:
- initialise and terminate the camera ( partially completed )
- get camera serial id ( partially completed )
- save image to file
- get image resolution for both full and video resolution images ( partially completed )
- set iso / gain
- set video quality ( partially completed )
- set white balance
- set exposure
- capture still resolution image ( partially completed )
- capture video resolution image ( partially completed )
- find all cameras attached to the computer ( partially completed )
- search for then connect to each specific camera as there may be multiple cameras ( partially completed )
- listen for and react to events returned from the camera, including error events
- create a container of memory buffers
- set an area of interest
- set the camera to run in trigger mode ie software only captures an image when specifically requested
I would also like to add that we would see this work as the beginning of a number of such projects over time, so we are interested in finding someone to whom we could regularly outsource projects.