How to read images into a script without using using imageio or scikit image?

Question:

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?

Asked By: Gerges

||

Answers:

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)
Answered By: Shai Léger

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')
Answered By: 0x48piraj

For the better answer, you can use these lines of code.
Here is the example maybe help you :

import cv2

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.

Answered By: Prof.Plague

You can also use Pillow like this:

from PIL import Image
image = Image.open("image_path.jpg")
image.show()
Answered By: tsveti_iko
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.

Answered By: AndrewPt

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.

Answered By: irudyak

you can try to use cv2 like this

import cv2

image= cv2.imread('image page')

cv2.imshow('image', image)

cv2.waitKey(0)

cv2.destroyAllWindows()
Answered By: siful islam

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()
Answered By: PyMatFlow

Easy way

from IPython.display import Image

Image(filename ="Covid.jpg" size )

Answered By: Dhiren Biren
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.