相关疑难解决方法(0)

如何使用我已知道其URL地址的Python在本地保存图像?

我知道Internet上图像的URL.

例如http://www.digimouth.com/news/media/2011/09/google-logo.jpg,其中包含Google的徽标.

现在,如何使用Python下载此图像,而无需在浏览器中实际打开URL并手动保存文件.

python web-scraping

135
推荐指数
8
解决办法
20万
查看次数

如何将图像添加到轴中的条形图(matplotlib)

我想将如下所示的标志图像添加到我的条形图中:

在此输入图像描述

我尝试过 AnnotationBbox,但它显示为方形轮廓。谁能告诉我如何实现如上图所示的效果?

编辑:

下面是我的代码

ax.barh(y = y, width = values, color = r, height = 0.8)

height = 0.8
for i, (value, url) in enumerate(zip(values, image_urls)):
    response = requests.get(url)
    img = Image.open(BytesIO(response.content))

    width, height = img.size
    left = 10
    top = 10
    right = width-10
    bottom = height-10
    im1 = img.crop((left, top, right, bottom)) 
    print(im1.size)
    im1

    ax.imshow(im1, extent = [value - 6, value, i - height / 2, i + height / 2], aspect = 'auto', zorder = 2) …
Run Code Online (Sandbox Code Playgroud)

python plot axes matplotlib figure

7
推荐指数
1
解决办法
8203
查看次数

如何使用opencv(python)从url读取gif

我可以使用cv2读取jpg文件

import cv2
import numpy as np
import urllib
url = r'http://www.mywebsite.com/abc.jpg'
req = urllib.request.urlopen(url)
arr = np.asarray(bytearray(req.read()), dtype=np.uint8)
img = cv2.imdecode(arr,-1)
cv2.imshow('abc',img)
Run Code Online (Sandbox Code Playgroud)

但是,当我使用gif文件时,它会返回一个错误:

error: (-215) size.width>0 && size.height>0 in function cv::imshow
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题呢?

python opencv

6
推荐指数
1
解决办法
7033
查看次数

如何将本地图像(svg / png)添加到绘图布局?

我知道这个问题有几个答案,但没有一个让我满意,因为它们都包括Dash,而我只想使用基本的plotly

我有一个本地图像文件:(/tmp/bla.svg还有/tmp/bla.svg)我想将其显示为图形上的徽标:

这是我的图形代码,使用以下示例plotly

    fig.add_layout_image(
        dict(
            source='https://raw.githubusercontent.com/cldougl/plot_images/add_r_img/vox.png',
            xref='paper', yref='paper',
            x=1, y=1.05,
            sizex=0.1, sizey=0.1,
            xanchor='center', yanchor='bottom'
        )
    )
Run Code Online (Sandbox Code Playgroud)

这很有效,但是任何将源更改为本地图像的尝试都会失败。该文档甚至没有提供非 url 图像源的选项。

我确实尝试了本地网址 - 但失败了:

source=r'file:///tmp/bla.png',
Run Code Online (Sandbox Code Playgroud)

并且

source=r'file:///tmp/bla.svg',
Run Code Online (Sandbox Code Playgroud)

我也尝试使用这个答案 - 使用 base64 编码

def _get_image(path):
    with open(path, 'rb') as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode()
    encoded_img = f'data:image/png;base64,{encoded_string}'
    return encoded_img
...
source=_get_image(path)
...
Run Code Online (Sandbox Code Playgroud)

但这也失败了,即使我测试了输出base64,它是一个图像!

我怎样才能让它发挥作用?

python svg plotly

6
推荐指数
1
解决办法
1万
查看次数

枕头 OSError:无法识别图像文件 <_io.BytesIO 对象位于 0x02345ED8>

我试图从 http 请求中获取 jpeg、gif 等,但出现错误。这是代码的一部分:

def printimg(url):

    http = httppoolmgr()

    file = http.request('GET',url).read()
    r_data = binascii.unhexlify(file)
    stream = io.BytesIO(r_data)
    img = Image.open(stream)
    #img = Image.open(file)

    return img
Run Code Online (Sandbox Code Playgroud)

返回的错误代码是:

  File "C:\Python34\lib\site-packages\pillow-2.5.3-py3.4-win32.egg\PIL\Image.py"
, line 2256, in open
OSError: cannot identify image file <_io.BytesIO object at 0x02345ED8>
Run Code Online (Sandbox Code Playgroud)

有人已经遇到过这种问题吗?

python pillow

5
推荐指数
1
解决办法
7069
查看次数

Python - 如何从URL读取图像?

我是Python的新手,我正在试图弄清楚如何从URL读取图像.

这是我目前的代码:

from PIL import Image
import urllib.request, io

URL = 'http://www.w3schools.com/css/trolltunga.jpg'

with urllib.request.urlopen(URL) as url:
    s = url.read()
    Image.open(s)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

C:\python>python image.py
Traceback (most recent call last):
  File "image.py", line 8, in <module>
    Image.open(s)
  File "C:\Anaconda3\lib\site-packages\PIL\Image.py", line 2272, in open
    fp = builtins.open(filename, "rb")
ValueError: embedded null byte
Run Code Online (Sandbox Code Playgroud)

我不知道这意味着什么.我究竟做错了什么?

python

5
推荐指数
2
解决办法
2万
查看次数

如何使用 boto3 从 s3 执行凭据下载而不保存文件?

使用以下命令执行从 s3 到文件的凭证下载很简单

import boto3

s3 = boto3.resource('s3')
def save_file_from_s3(bucket_name, key_name, file_name):
    b = s3.Bucket(bucket_name)
    b.download_file(key_name, file_name)
Run Code Online (Sandbox Code Playgroud)

使用以下命令可以轻松从 s3 下载到类似文件的对象

import from StringIO import StringIO
import urllib

file_like_object = StringIO(urllib.urlopen(url).read())
Run Code Online (Sandbox Code Playgroud)

(请参阅如何在 Python 中从 URL 读取图像数据?

但是如何执行从 s3 到类文件对象的凭证下载?

python amazon-s3 boto3

2
推荐指数
1
解决办法
1241
查看次数

在 Python 中从 URL 显示/获取图像

我是python的新手。但是我有一个任务,我需要从 URL 显示/获取图像。我一直在使用带有 python 的 Jupyter notebook 来尝试这样做。

import sys
print(sys.version)
3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]
Run Code Online (Sandbox Code Playgroud)

我试图像在这篇文章中那样做,但没有一个答案有效。

import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen(URL).read())
img = Image.open(file)
Run Code Online (Sandbox Code Playgroud)

我得到:

ImportError                               Traceback (most recent call last)
<ipython-input-33-da63c9426dad> in <module>()
      1 url='http://images.mid-day.com/images/2017/feb/15-Justin-Bieber.jpg'
      2 print(url)
----> 3 import urllib, cStringIO
      4 
      5 file = cStringIO.StringIO(urllib.urlopen(URL).read())

ImportError: No module named 'cStringIO'
Run Code Online (Sandbox Code Playgroud)

和:

from PIL import Image
import requests
from io import BytesIO

response = …
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
2
解决办法
9821
查看次数

如何更改pygame窗口中的图标?

我正在使用 pygame 模块制作游戏,但如何更改标题栏上显示的默认图标。

我正在使用 Python 3.4。

python pygame python-2.7 python-3.x

0
推荐指数
1
解决办法
4262
查看次数