Hoe lees je afbeeldingen in een script?

Ik probeer een PNG-afbeelding in python te lezen. De functie imreadin scipywordt verouderden ze raden aan om de imageio-bibliotheek te gebruiken.

Ik zou echter liever mijn gebruik van externe bibliotheken beperken tot scipy, numpyen matplotlibbibliotheken. Daarom is het gebruik van imageioof scikit imagegeen goede optie voor mij.

Zijn er methoden in python of scipy, numpyof matplotlibom afbeeldingen te lezen die niet worden afgeschaft?


Antwoord 1, autoriteit 100%

Met matplotlib die je kunt gebruiken (zoals getoond in de matplotlib documentatie)

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img=mpimg.imread('image_name.png')

En plot de afbeelding als je wilt

imgplot = plt.imshow(img)

Antwoord 2, autoriteit 34%

Je kunt Kussenook als volgt gebruiken:

from PIL import Image
image = Image.open("image_path.jpg")
image.show()

Antwoord 3, autoriteit 8%

import matplotlib.pyplot as plt
image = plt.imread('images/my_image4.jpg')
plt.imshow(image)

Het gebruik van ‘matplotlib.pyplot.imread’ wordt aanbevolen door waarschuwingsberichten in jupyter.


Antwoord 4, autoriteit 6%

Als je gewoon een afbeelding in Python wilt lezenmet de opgegeven
alleen bibliotheken, ik ga voor matplotlib

In matplotlib :

import matplotlib.image
read_img = matplotlib.image.imread('your_image.png')

Antwoord 5, autoriteit 6%

Voor een beter antwoord kun je deze coderegels gebruiken.
Hier is het voorbeeld dat je misschien kan helpen:

import cv2
image = cv2.imread('/home/pictures/1.jpg')
plt.imshow(image)
plt.show()

In imread() kun je de directory . doorgeven, dus je kunt ook str()en +om dynamische mappen en vaste mappen als volgt te combineren:

path = '/home/pictures/'
for i in range(2) :
    image = cv2.imread(str(path)+'1.jpg')
    plt.imshow(image)
    plt.show()

Beide zijn hetzelfde.


Antwoord 6

Van documentatie:

Matplotlib kan alleen native PNG’s lezen. Andere afbeeldingsformaten worden ondersteund via de optionele afhankelijkheid van Pillow.

Dus in het geval van PNGkunnen we plt.imread()gebruiken. In andere gevallen is het waarschijnlijk beter om Pillowrechtstreeks te gebruiken.


Antwoord 7

je kunt proberen cv2 op deze manier te gebruiken

import cv2
image= cv2.imread('image page')
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Antwoord 8

Ik heb alle antwoorden gelezen, maar ik denk dat een van de beste methoden het gebruik is van openCVbibliotheek.

import cv2
img = cv2.imread('your_image.png',0)

en gebruik de volgende code om de afbeelding weer te geven:

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()

Antwoord 9

Eenvoudige manier

van IPython.display importeer afbeelding

Afbeelding (bestandsnaam =”Covid.jpg” grootte)

Other episodes