We are going to filter the colors of the video feed from a webcam. We will be using AForge.NET image processing framework for this and C#. You can check my previous posts for some basic video capture from webcam.
We have some steps as follows…
- Acquire image from webcam (check previous posts - click here )
- Create a color filter
- Apply filter
Step 1: Check previous posts - click here
Step 2: Create a color filter
First a little modification to the UI
Then the code for the track bar.
Now as we move the slider, the variable for the RGB has to change accordingly. We have given the incremental/decremental value of 3. So when we move the slider, the value of RGB will change +3 or –3. You can change to required value by changing the TickFrequency value.
The main filter part. Please check this reference link/documentation ( http://www.aforgenet.com/framework/docs/html/35bd90e3-4e35-8f5f-e255-26c5d8d4b927.htm ). I have done the same with a little UI.
I am changing the value from 0 to the value in the track bar. You can add one more track bar for the lower value and can get a very good results.
Here is the reference and source for this step 2
Links : http://www.aforgenet.com/framework/docs/html/35bd90e3-4e35-8f5f-e255-26c5d8d4b927.htm
Step 3: Apply filter
Now run it !!!!!!!!!!!!!!!!!!!!!!!
It works !!!
Here are my results
The Original Screen (Before Processing)
Note the trackbar at full. Move your trackbar to maximum initially. Else you will not see anything. Because all the filter will be at 0. Which means block everything.
After applying value of red filter (look at the red trackbar)Wow, the red is completely removed.
Now lets try Blue. (bring back red trackbar to maximum)
Light source is natural light (sun light) through window.
Same blue filter with indoor lightings. Yes. Lights do affect the result a lot.
Green filter test..
Ok, but not impressive. Because the lower limit of the filter is 0. If we move both upper and lower, we’ll get impressive results.
------------------------------------------- Using Lower Value for filter -----------------------------------------------------------------------
I just modified the UI so that I can change the lower value of the filter too. And I started playing to do some object isolation. Pretty nice. Here are some screen shots. Note the slide bar too.
Isolated the orange cup !!!!!!!!!!!!!!!1 success
Note :
- Lightings play a major part in image processing. We need to add more things in the future to make it work under any lightings.
- Camera also plays a major role. Due to some reasons, my camera shows green color in the background. Using good quality cameras, you can do miracles.
have a good day.
~Prem