I am looking to start learning openCV to perform a car detection program. Should I know data science and/or machine learning stuff before going for openCV?
If not, where can I start learning openCV with Python?
OpenCV has a module to detect faces, eyes etc. With pretrained models you may also be able to detect cars. https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/
There are many good tutorials online. Just have a look.
So if you are happy with this, you don‘t need to know much about data science. However, if you want to go a step further and train your own models, you will need to look into e.g. Keras (with pretrained models). https://keras.rstudio.com/articles/applications.html
My view is that OpenCV is a cool tool and you can do a lot with it. However, off-the-shelf applications have their limitations (of course).