Python URL 을 통 해 그림 인 스 턴 스 를 엽 니 다.

2056 단어 PythonURL그림.
Python URL 을 통 해 그림 인 스 턴 스 를 엽 니 다.
OpenCV 나 PIL,skimage 등 라 이브 러 리 를 사용 하 더 라 도 이전에 이미지 처 리 를 할 때 거의 로 컬 그림 을 읽 습 니 다.최근 파충류 가 그림 을 가 져 오 려 고 시도 하고 있 습 니 다.저장 하기 전에 그림 을 빨리 훑 어 본 다음 에 선택 적 으로 저장 하고 싶 습 니 다.url 에서 그림 을 읽 어야 합 니 다.많은 자 료 를 조사해 보 니 이렇게 몇 가지 방법 이 있 는데,여기에 기록 을 하나 하 자.
본 논문 에 사 용 된 이미지 URL 은 다음 과 같다.
img_src = 'http://wx2.sinaimg.cn/mw690/ac38503ely1fesz8m0ov6j20qo140dix.jpg'
1.OpenCV 로
OpenCV 의 imread()는 로 컬 그림 만 불 러 올 수 있 고 인터넷 주 소 를 통 해 그림 을 불 러 올 수 없습니다.단,opencv 의 VideoCapture 류 는 url 에서 동 영상 을 불 러 올 수 있 습 니 다.만약 opencv 만 사용한다 면,우 리 는 우회 적 인 방식 을 사용 할 수 있 습 니 다.먼저 VideoCapture 로 사이트 에 있 는 그림 을 불 러 온 다음 에 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 은 다음 과 같은 방법 을 제공 합 니 다.
read(),readline(),readlines(),fileno(),close():이 방법 들 의 사용 방식 은 파일 대상 과 완전히 같 습 니 다.그리고 돌아 오 는 클래스 파일 대상 을 다시 인 코딩 하여 그림 으로 변환 하여 Mat 에 게 전달 합 니 다.
3.PIL+requests

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()
requests 는 요청 응답 체 에 바이트 로 접근 할 수 있 습 니 다.이상 은 되 돌아 오 기 를 요청 하 는 바 이 너 리 데이터 로 그림 을 만 드 는 코드 입 니 다.
4. skimage

from skimage import io
image = io.imread(img_src)
io.imshow(image)
io.show()
상대 적 으로 이런 방식 은 가장 간단 해 야 한다.skimage 는 imread()함수 로 웹 페이지 그림 을 직접 읽 을 수 있 기 때문에 다른 보조 도 필요 없고 우회 도 필요 없다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기