OpenCV is a great computer vision library, all the algorithms, processing techniques are available . You can even accelerate opencv logic with cuda support. The documentation is really good with lots of examples available in Python, C/C++, android and ios as well. On the other hand Tensorflow is more of computation library. Images are just arrays, 2d to multi-dimensional data so in short you need to process these arrays, all the operations performed in between them, so there goes a kind of flow between these multi-d data.
I would suggest that thinking about pros and cons should not be the point, it should be about how to get the concepts clear as you are interested in computer vision. Start with OpenCV make some cool projects (using kinect or zed camera), you will get the hold how everything works when you start to code and build logic and understand the way a simple camera sees world around it. In between understand ML then move on to tensorflow.24.9k views