Different image bw matplotlib & cv2?

I used 2 library (matplotlib & cv2) to read 1 image.
But, why the value of same pixel is different.
Untitled

import matplotlib.pyplot as plt
import numpy as np
import cv2

file = 'C:/Users/Admin/Pictures/Untitled.png'
mpl_img = plt.imread(file)
cv2_img = cv2.imread(file)
print(mpl_img[100,100])
print(cv2_img[100,100])

As I know, cv2 use color space BGR, matplotlib use RGB
Thus, the result must be:
[ 255 245 0 ]
[ 0 245 255 ]
Below is actual result when I run this code to find the value of pixel (100,100):

PS E:\Document\python> python test_color.py
[1.        0.9607843 0.       ]
[  0 245 255 ]

BGR vs RGB explains the order, as you’ve noted, but it looks like one is working on a range of 0-255 and the other is 0-1:

>>> 245/255
0.9607843137254902

So it’s the same information, but represented differently.

Thanks, I see.
But, why matplotlib showed range 0-1?
Can we setup range 0-255 by default for it.

That, I can’t tell you, but at very least, it should be possible to rescale the values by multiplying by 255. Check the docs though - you may be able to have it return data in a different format.