I want to do background subtraction in a video file using OpenCV method. Right now I'm able to do background subtraction, but the problem is that I couldn't get the output in color mode. All the output after subtracting the background is coming in grayscale color mode :(. I want to get the color information to the foreground which is the resulting output after background got subtracted.
Can I do it using masking technique?? like the following procedure which I'm thinking about.
InputFrame
(RGB)InputFrame
TempFrame
(which is coming in grayscale :( )TempFrame
InputFrame
OutFrame
I'm struck up with doing the masking using OpenCV. I'm just a very beginner in OpenCV. Please help me to overcome this.
Thanks in advance.
Background subtraction (also known as Foreground detection) is a computer vision algorithm that tries to distinguish foreground objects from the background.
You can subtract two images by OpenCV function, cv. subtract(). res = img1 - img2. Both images should be of same depth and type.
The K Nearest Neighbor (KNN) method computes the Euclidean distance from each segment in the segmentation image to every training region that you define. The distance is measured in n-dimensional space, where n is the number of attributes for that training region.
http://vimeo.com/27477093
code is here
http://code.google.com/p/derin-deli-mavi/downloads/detail?name=denemeOpenCv23.zip&can=2&q=
to reach a colored foreground just copy image by using foreground mask
// image.copyTo(foreground,foreground);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With