I am trying to read a png
image in python. The imread
function in scipy
is being deprecated and they recommend using imageio
library.
However, I am would rather restrict my usage of external libraries to scipy
, numpy
and matplotlib
libraries. Thus, using imageio
or scikit image
is not a good option for me.
Are there any methods in python or scipy
, numpy
or matplotlib
to read images, which are not being deprecated?
With matplotlib you can use (as shown in the matplotlib documentation)
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img=mpimg.imread('image_name.png')
And plot the image if you want
imgplot = plt.imshow(img)
For the better answer, you can use these lines of code. Here is the example maybe help you :
image = cv2.imread('/home/pictures/1.jpg')
plt.imshow(image)
plt.show()
In imread()
you can pass the directory .so you can also use str()
and +
to combine dynamic directories and fixed directory like this:
path = '/home/pictures/'
for i in range(2) :
image = cv2.imread(str(path)+'1.jpg')
plt.imshow(image)
plt.show()
Both are the same.
You can also use Pillow like this:
from PIL import Image
image = Image.open("image_path.jpg")
image.show()
If you just want to read an image in Python using the specified libraries only, I will go with
matplotlib
In matplotlib :
import matplotlib.image
read_img = matplotlib.image.imread('your_image.png')