Here is a glimpse for you.
We can't compare or contrast which module is good /complex nor difficult to do image classification,because each of them is being made to suit the developers needs.
Therefore,opencv module contains classical machine learning algorithms for image Classification,it doesn't require huge amounts of training data set(image/video data) unlike the tensorflow.
I would encourage you to have both,whereby you should configure and use python interface and you will have lots of up-to date image recognition algorithms inline with scikit,and you will also be able to use OpenCV and tensorflow in the same time.
This will also give you the power to do image processing nor classification effectively.
Lastly, I would also encourage to join up open developer communities,specifically;github and slack both provide communities for computer vision engineers.
Hope this helps.