does tensorflow use opencv to covert image to numpy array
TensorFlow has two ways of processing image data 


Built-in Image Ops  ( https://www.tensorflow.org/api_guides/python/image )
tf.keras Pre-processing ( https://keras.io/preprocessing/image/ )


Feature extraction is at pixels / channel level. Higher level features (Such as Edge / Contrast) are learnt typically by CNN layers. 

If needed, you can feed Image Data + Features extracted by OpenCV to TensorFlow.