2013-03-04 21:24:13 -0600 | commented answer | Non-motion detection Well... cv::VideoCapture can load a video and give you video frames cv::split can split your color image into 3 channels, blue, green and red cv::absdiff can calculate the absolute difference between any two images cv::sum can calculate the sum of an image So.. get frames from the video inside a loop, using cv::videocapture. Compare the previous frame with the current frame, by calculating the difference image using cv::absdiff (you may need to split the images into bgr components using cv::split, and compare them seperately). Calculate the sum using cv::sum. If the sum exceeds a threshold value that you decide, then you can conclude that the car is moving between the two frames. If you want, you can save the values inside an array or vector, and draw a nice plot of the activity. |
2013-02-25 03:31:56 -0600 | received badge | ● Self-Learner (source) |
2013-02-25 02:42:06 -0600 | answered a question | Dilation produces translation and doesn't work Found the problem. The kernel was not defined right, and caused random behavior. I sure didn't need the debugger to tell me such useless information, or in any way indicate to me that there was a problem. The bad way: The good way: |
2013-02-23 05:10:01 -0600 | received badge | ● Student (source) |
2013-02-22 22:07:59 -0600 | answered a question | Non-motion detection I am no expert, but I would think the video would contain more activity when the car was moving, compared to when it was parked. The task would then be to measure the activity, and determine how much activity constitutes car movement. One measure of activity of a video, is to calculate the absolute difference between the last and current frame (differencing), and take the sum of the resulting image. In this manner, one could calculate the activity for each pair of frames, and if this value exceeded some threshold, one could conclude that the car was moving. |
2013-02-22 21:44:13 -0600 | asked a question | Dilation produces translation and doesn't work Whenever I use dilation, the result contains no dilation, but is simply the input image, that is translated (moved) downward to the right. I do not get any errors during compilation or runtime. Using the exact same code, my friend gets the correct result. AFAIK, his setup is identical to mine. His hardware is also the same. Obviously, something is wrong with my installation, and I want to fix it. Any help is greatly appreciated. My setup:
I have included the code below, and the getBuildInformation. (more) |