文档章节

python 间接处理webp图片文件

元禛慎独
 元禛慎独
发布于 2016/07/13 14:57
字数 334
阅读 94
收藏 0

在工作过程中遇到部分网络图片采用webp格式,但是opencv不支持webp格式,需要寻求解决方案。另外,还需要在windows环境下的python程序中调用,最终发现有两个可行方案:1、调用外部接口,2、使用google提供的libwebp。
1、外部接口 cloudconvert
使用cloudconvert的api接口时需要事先申请api_key。
以下为cloudconvert的示例代码:

import cloudconvert
def get_webp_image(image_url):
    api_key="your api key"
    convert_api=cloudconvert.Api(api_key)    process=convert_api.convert({"input":"download","file":image_url,"inputformat":"webp","outerformat":"jpg"})  ##格式字典
    process.wait()  ##等待转换
    temp="E:/test/%s.jpg" % str(int(time.time()))
    process.download(temp)  ##将转换的图片下载下来
    temp_image=cv2.imread(temp)
    return temp_image


2、google的libwebp包
libwebp包是由google自己提供,在网上很容易就可以下载到。
下载之后再将bin目录添加到环境变量,之后就可以在cmd窗口调用cwebp、dwebp等命令。
如果出现仍然无法通过python程序调用命令,调用时提示 “非系统内部、外部命令或批处理文件,无法直接调用“。
我的解决方法是,采用批处理文件作为中转,间接调用  cwebp和dwebp。如在同目录下创建dwebp.bat文件,只需键入:dwebp %1 -o %2   

  line="D:/libwebp/bin/dwebp E:/test.webp -o E:/testpng.png"
  subprocess.call(line,shell=True)
 

© 著作权归作者所有

共有 人打赏支持
元禛慎独
粉丝 3
博文 209
码字总数 60366
作品 0
朝阳
程序员
私信 提问
Android Webp 完全解析 快来缩小apk的大小吧

一、概述 最近项目准备尝试使用webp来缩小包的体积,于是抽空对相关知识进行了调研和学习。 至于什么是webp,使用webp有什么好处我就不赘述了,具体可以参考腾讯isux上的这篇文章WebP 探寻之...

鸿洋
2016/11/21
0
0
【又拍小百科】图片云处理,这些小而美的功能你了解吗

我们将陆续介绍又拍云在图片云处理方面的功能,欢迎关注又拍云公众号(ID:upaiyun) 人是视觉动物,从外界接收的各种信息中,有 80% 以上是通过视觉获取的。在互联网世界中,图片则是最容易...

又拍云
2018/11/15
0
0
WebP 的故事:谷歌要统一互联网图片格式

科技博客GigaOM近日撰文称,谷歌试图让WebP图片格式取代JPEG等现有图片格式。虽然谷歌无法很快达成所愿,但WebP仍然会对互联网产生重大影响。 文章全文如下: 受够了蜗牛一般的网页加载速度?...

oschina
2014/07/22
8.4K
43
记一次 Webpack 项目优化

本项目源码均可在 这里 找到。 之前公司的官网项目静态文件都是放在静态服务器中,这其中的弊端就不赘述了。简单说一下 CDN 的好处: CDN 可以解决因分布、带宽、服务器性能带来的访问延迟问题...

Amigooo
2018/12/06
0
0
【省带宽、压成本专题】带宽成本降低50%的秘密——深入解析WebP

过去几年,又拍云一直在点播、直播等视频应用方面潜心钻研,取得了不俗的成果。我们结合点播、直播、短视频等业务中的用户场景,推出了“省带宽、压成本”系列文章,从编码技术、网络架构等角...

又拍云
2018/06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安装数据库 常见问题

数据库重置密码 如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。 提示需要重置密码: ERROR 1820 (HY000): You must reset your passwo...

狼王黄师傅
12分钟前
0
0
三种方式拿到反射的入口

public class a_1 { public static void main(String args[]) throws ClassNotFoundException { //三种方式拿到反射的入口 System.out.println(Class.forName("reflect.com.Son")); System.o......

南桥北木
24分钟前
1
0
Macbook 安装PhotoShop 总提示安装包损坏的问题

问题描述 今天在给Mac10.12安装Adobe Photoshop的时候一直提示Error The installation cannot continue as the installer file may be damaged. Download the installer file again.起初以为......

Carlyle_Lee
30分钟前
1
0
Java 帝国对 Python 的渗透能成功吗?哈哈

引子 Java 帝国已经成立20多年,经过历代国王的励精图治,可以说是地大物博,码农众多。 可是国王依然不满足,整天想着如何继续开拓疆土, 这一天晚上他又把几个重臣招来商议了。 IO大臣说:...

边鹏_尛爺鑫
今天
13
0
分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部