The use of multiple machine vision cameras in a single system allows for increased inspection speed, flexibility, and/or robustness. The cameras can be either co-located or distributed within the system to provide the desired performance.
When using multiple cameras, care must be taken to ensure that all individual camera systems are synchronized so that they present a single view of the inspected object to the vision system controller. This synchronization is typically accomplished using a common triggering mechanism, such as a light curtain or optical sensor.
Once the cameras are properly synchronized, the vision system controller can determine their field of view and configure them accordingly. In many cases, it is also necessary to calibrate the cameras to remove any spatial distortion introduced by the camera lenses. Once all cameras have been calibrated, it is possible to perform machine vision tasks such as localization and measurement using a single coordinate system shared across multiple cameras.
In this post we will show how to control machine vision systems with multiple machine vision cameras along with a microcontroller or PC controller.
Here I am going to explain this process with Arduino and SainSmart LCD Keypad shield.
Here is the set up:
1) First of all connect the LCD keypad shield with arduino.
2) For this I am going to use SainSmart camera which is compatible with a wide range of operating systems, including Windows, Mac OS X and Linux. You can easily get started with your own OpenCV development by connecting the camera to your computer with the USB cable and then running the ‘SainSmart Camera Control’ software.
3) Take an object and place it in front of the camera.
4) Now you need to install SainSmart Camera Control software in your computer.
5) After installing the software, open it and click on the ‘Select Camera’ button.
6) Now a window will open in which you need to select the camera type of your choice and then click on ‘Open’ button.
7) After that select the image size from the list of presets or press the ‘Custom Size’ button and set the desired size.
8) In case you want to make changes in the image, you can do so by pressing the ‘Edit’ button.
9) Now press the ‘Start Preview’ button and then press the ‘Snapshot’ button to capture a photo.
10) In order to adjust the image of your choice, select it from preview window and then click on the desired area of interest for more accurate measurement.
11) After capturing the image, you can save it in your computer by pressing the ‘ Save As’ button.
12) You can also export it to other formats such as jpeg, bmp, png and tiff.
13) To close the software, press the ‘X’ button located at the top-right corner of the window.
Now let’s see how to control multiple machine vision cameras with Arduino.
1) The first thing you need to do is to install the Arduino software in your computer.
2) After installing the software, open it and go to File -> Examples -> Camera -> SainSmartCameraControl and then click on the SainSmart Camera Control sketch.
3) Now a window will open in which you need to select the serial port of your camera and after that click on ‘Upload’ button.
4) After uploading, open the Arduino serial monitor by going to Tools -> Serial Monitor.
5) You can see some text like this- Press any key to begin capture.
6) Now press any button of your keyboard and you will see a rectangle appears for preview, after pressing the ‘Strobe’ button it will start capturing.
7) For controlling multiple machine vision cameras with Arduino follow same procedure which I explained above. But make sure that camera is connected to arduino serially.
In conclusion, machine vision cameras are one of the essential components in any automated system. Connecting multiple machine vision cameras to a computer or microcontroller can allow you to perform complex machine vision tasks which require more than one camera, such as localization and measurement using a single coordinate system shared across multiple cameras. You can easily control these multiple machines by installing their related software in your computer. Furthermore, Arduino is one of the easiest open source products available in the market which can be used to control multiple machine vision cameras.
I hope you enjoyed this post. If you have any questions feel free to ask me in the comment section below. I will try my best to reply as soon as possible!