How can I detect moving objects in a video by OpenCV without using deep learning techniques?
After a quick scan, it would seem that, in the history of object detection, machine learning has always been at the forefront. Before then, it would just be a heuristic approach.

For a quick answer, here: https://towardsdatascience.com/real-time-object-detection-without-machine-learning-5139b399ee7d

That goes over object detection without using machine learning in OpenCV

That being said, there are some segments of computer vision that are not strictly machine learning. For example, a commonly used algorithm Selective Search for region proposal doesn't use machine learning, and the TF Algorithm for background generation doesn't either.

But when it comes to object detection, the gap between machine learning and all other methods is so sheer that ML is the only method really considered today.