Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung, wie Python ein Bild über eine URL öffnet

Detaillierte Erklärung, wie Python ein Bild über eine URL öffnet

黄舟
黄舟Original
2017-06-04 10:16:162211Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn