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()함수 로 웹 페이지 그림 을 직접 읽 을 수 있 기 때문에 다른 보조 도 필요 없고 우회 도 필요 없다.읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.