我有一个 JPEG 图像作为 blob 存储在内存中,并希望对其应用一些基本转换(例如调整大小、转换为灰度、旋转等)
据我所知,我目前正在使用没有本机图像库的 Google Scripts。
是否有标准算法或类似算法可以让我使用原始二进制数组,知道它代表 JPEG 图像,以实现这样的转换?
我有一个 JPEG 图像作为 blob 存储在内存中,并希望对其应用一些基本转换(例如调整大小、转换为灰度、旋转等)
据我所知,我目前正在使用没有本机图像库的 Google Scripts。
是否有标准算法或类似算法可以让我使用原始二进制数组,知道它代表 JPEG 图像,以实现这样的转换?
我猜不是您要寻找的答案,但是...
为了能够使用 JPEG 文件作为输入进行图像处理,您需要对图像进行解码。嗯,实际上,90/180/270 度旋转、翻转和裁剪是可能的无损操作,因此无需解码图像数据。但是对于任何更高级的操作,例如调整大小,您需要使用已解码的图像。
用于以标准 JPEG 格式压缩图像数据的文件结构 (JIF/JFIF) 和算法均已明确定义并正确记录。但与此同时,规范也相当复杂。如果您有时间并且知道自己在做什么,那当然是可行的。如果你很幸运,并且你的 JPEG blobs 都是用同样的方式编写的,你可能只实现了一些规范。但即便如此,您仍需要(重新)实现规范的大部分内容,这可能不值得。
如果您需要一个快速的解决方案,并且对表现。
Apps 脚本中没有直接的图像处理功能。您可以将 Python 公开为 Web 服务并从 Apps 脚本调用它,或者使用 Drive REST API 从 Python 应用程序访问文件或使用任何 api Web 服务。
GAE Python 具有图像处理功能,请查看以下网址:
https://developers.google.com/appengine/docs/python/images/
可用的图像转换
图像服务可以调整、旋转、翻转和裁剪图像,并增强照片。它还可以将多个图像合成为单个图像。