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?
you can try to use cv2 like this
import cv2
image= cv2.imread('image page')
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
From documentation:
Matplotlib can only read PNGs natively. Further image formats are supported via the optional dependency on Pillow.
So in case of PNG
we may use plt.imread()
. In other cases it's probably better to use Pillow
directly.
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.
Easy way
from IPython.display import Image
Image(filename ="Covid.jpg" size )
import matplotlib.pyplot as plt
image = plt.imread('images/my_image4.jpg')
plt.imshow(image)
Using 'matplotlib.pyplot.imread' is recommended by warning messages in jupyter.
I read all answers but I think one of the best method is using openCV library.
import cv2
img = cv2.imread('your_image.png',0)
and for displaying the image, use the following code :
from matplotlib import pyplot as plt
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.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')
You can also use Pillow like this:
from PIL import Image
image = Image.open("image_path.jpg")
image.show()
Source: Stackoverflow.com