In diesem Artikel werden hauptsächlich relevante Informationen zu detaillierten Beispielen für das Öffnen von Bildern durch Python über die URL vorgestellt. Freunde in Not können sich über die URL an
Python wenden Ausführliche Erläuterung der Beispiele zum Öffnen von Bildern
Ob OpenCV oder PIL, Skimage und andere Bibliotheken verwendet wurden, bei der vorherigen Bildverarbeitung wurden fast alle lokalen Bilder gelesen. Ich habe kürzlich versucht, Bilder zu crawlen. Vor dem Speichern wollte ich die Bilder schnell durchsuchen und sie dann gezielt speichern. Hier müssen Sie das Bild aus der URL lesen. Ich habe viele Informationen überprüft und festgestellt, dass es mehrere Methoden gibt, die ich hier aufzeichnen werde.
Die in diesem Artikel verwendete Bild-URL lautet wie folgt:
img_src = 'http://wx2.sinaimg.cn/mw690/ac38503ely1fesz8m0ov6j20qo140dix.jpg'
1. OpenCV verwenden
OpenCVs imread() can Nur lokale Bilder laden können nicht über URLs geladen werden. Allerdings kann die VideoCapture-Klasse von opencv Video von der URL laden. Wenn wir nur opencv verwenden, können wir einen Umweg verwenden: Verwenden Sie zuerst VideoCapure, um das Bild unter der URL zu laden, und übergeben Sie es dann an Mat.
import cv2 cap = cv2.VideoCapture(img_src) if( cap.isOpened() ) : ret,img = cap.read() cv2.imshow("image",img) cv2.waitKey()
2. OpenCV+Numpy+urllib
import numpy as np import urllib import cv2 resp = urllib.urlopen(img_src) image = np.asarray(bytearray(resp.read()), dtype="uint8") image = cv2.imdecode(image, cv2.IMREAD_COLOR) cv2.imshow("Image", image) cv2.waitKey(0)
urlopen gibt ein Klassendatei--Objekt zurück, das die folgenden Methoden bereitstellt:
read(), readline(), readlines(), fileno(), close(): Diese Methoden werden auf die gleiche Weise verwendet als Dateiobjekt Genau das Gleiche. Codieren Sie dann das zurückgegebene dateiähnliche Objekt neu, konvertieren Sie es in ein Bild und übergeben Sie es an Mat.
3.PIL+Anfragen
import requests as req from PIL import Image from io import BytesIO response = req.get(img_src) image = Image.open(BytesIO(response.content)) image.show()
Anfragen können auf den Anforderungsantworttext in Bytes zugreifen. Das Obige dient dazu, ein Bild mit den von der zurückgegebenen Binärdaten zu erstellen Anfrage.
4. skimage
from skimage import io image = io.imread(img_src) io.imshow(image) io.show()
Relativ gesehen sollte diese Methode die einfachste sein, da skimage die imread()Funktion direkt verwenden kann Webbilder ohne weitere Hilfsmittel oder Umwege lesen.
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Python ein Bild über eine URL öffnet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!