I'm getting behavior I don't quite understand:
In [1]: import cv2
In [2]: pylab_img=pylab.imread('lena.jpg')
In [3]: cv_img=cv2.imread('lena.jpg')
In [4]: pylab_img[200,200,:]
Out[4]: array([228, 197, 176], dtype=uint8)
In [5]: cv_img[200,200,:]
Out[5]: array([ 84, 48, 132], dtype=uint8)
Both versions of imread
read the same image into a numpy array of the same datatype, yet the values don't match. If the values were just mixed up I could chalk it up to the fact that opencv uses BGR whereas matplotlib (pylab) uses RGB, but that doesn't seem to account for this discrepancy.
Any thoughts?
They don't match for a couple reasons:
Perhaps there is a nicer way of doing this, but if you wanted to match them, you would find:
pylab_img[::-1,:,::-1] == cv_img
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With