阿里云oss对象存储图片预处理

本文介绍阿里云OSS对象存储的图片处理功能,包括图片缩放、裁剪、旋转和添加水印等操作,无需本地处理即可节省带宽,且10TB内免费。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点子

最近发现阿里云oss对象存储还有图片处理技术,只要图片链接附加一些参数信息,可以将处理之后的图片发送过来,相比起先发送再处理要有很多好处。

优点

  • 不需要本地处理图片了
  • 发送的图片是处理过的比如假如是缩小版的话就能减少带宽使用
  • 图片可以加水印

费用

图片处理费用如下
阿里云oss图片处理费用
也就是说每个月处理的图片在10TB以下是免费的,大于10GB的部分按照0.025元/GB进行计算,计算的时候按照图片原有大小进行。
对于我这样的小体量用户来说 图片处理就是完全免费的了

图片缩放

我有一张图片,我的头像是340*340大小。如下图
towrabbit角角兔
看起来有点太大了 大部分情况下我不需要那么大我们试试把它进行缩放

https://i-blog.csdnimg.cn/blog_migrate/ddd112b6bcbc87ab0ff0443256f87603.png?x-oss-process=image/resize,w_100

前面的链接就是http://<存储桶名>-<存储桶区域域名>/<对象名>?(处理规则)
意为把宽变成100,高按照比例缩放
处理规则有很多 这里使用了缩放规则。
最后的图片如下:
角角兔towrabit头像缩放100宽度
头像变成了100宽,高度按照比例缩小也是100了。
更多缩放规则请参照阿里云对象存储图片缩放预处理规则

裁剪

裁剪规则用到的地方也比较频繁,比如在切精灵图的时候。
同样是我的头像,进行一个圆型裁剪试试

圆形裁剪

圆形裁切 半径100的圆

https://i-blog.csdnimg.cn/blog_migrate/ddd112b6bcbc87ab0ff0443256f87603.png?x-oss-process=image/circle,r_100

阿里云图片预处理 圆形裁切
opps 感觉这脸有点大(笑哭)
所以我还是想先缩放再裁切比较好
下面试一试先缩放再裁切:

https://i-blog.csdnimg.cn/blog_migrate/ddd112b6bcbc87ab0ff0443256f87603.png?x-oss-process=image/resize,w_100/circle,r_100

阿里云图片预处理 圆形裁切
ojbk,使用的规则是先做的吃力放在前面 后做的处理放在后面,
格式为:格式为image/action1,param_value1/action2,param_value2
对于有透明度的图片进行裁切 其他部分会变成透明,如果是jpg则会以白色填充。

长方形自定义裁切

我的头像有个小爱心–现在试试把爱心裁剪出来

https://i-blog.csdnimg.cn/blog_migrate/ddd112b6bcbc87ab0ff0443256f87603.png?x-oss-process=image/crop,x_0,y_0,w_100,h_80

阿里云图片预处理长方形裁切
这样我的小心就裁剪出来了
动作名crop x和y为裁切开始点坐标,w和h分别是宽和高。

旋转

试试把图像旋转一下
这里用的是之前裁剪缩放过的图片

https://i-blog.csdnimg.cn/blog_migrate/ddd112b6bcbc87ab0ff0443256f87603.png?x-oss-process=image/resize,w_100/circle,r_100/rotate,270

阿里云图片预处理 圆形裁切
因为本来是歪着头的
使用rotate旋转了270度以奇怪的方式展现在面前了
旋转的参数在0-360度之间,

添加水印

在一张图片右下角添加水印

https://i-blog.csdnimg.cn/blog_migrate/ddd112b6bcbc87ab0ff0443256f87603.png?x-oss-process=image/watermark,text_5L2g5aW95oiR5piv6KeS6KeS5YWU,g_se,size_20,color_ffcc00,shadow_20,t_50,type_ZmFuZ3poZW5naGVpdGk=

阿里云图片预处理-角角兔
其中文字的参数要经过base64加密,可以在
在线base加密解密 进行加密

涉及的参数比较多,可以在阿里云图片处理水印文档查看
这里涉及到的参数

  • g

从下面九个中取值 [nw,north,ne,west,center,east,sw,south,se]
分别为左上,上,右上,左,中间,右,左下,下,右下。英语中的九个方位 包括center中间

  • t
    字透明度 0-100范围
  • text
    文字内容,需要经过base64编码
  • size
    字体大小,默认40 我这里是20,可以改成自己喜欢的大小
  • color
    字的颜色
  • shadow
    阴影深浅,0-100 100是最深 没有颜色之分

其他还有蛮多属性 如果需要可以去官方文档查看。

角角兔towrabit头像缩放100宽度

  • 这里是角角兔 towrabbit
  • 欢迎点赞评论哦
<think>嗯,用户问的是树莓派传输数据到阿里云云平台,这些数据是关于黄化卷叶病毒(yellow leaf curl virus)的病害类型,那么在阿里云平台上定义数据类型应该选什么。首先,我需要先理解用户的使用场景。树莓派通常用于物联网设备,可能是在农业监测中,比如通过传感器或摄像头收集植物病害的数据,然后上传到云端进行分析处理。用户提到的病害类型是黄化卷叶病毒,属于特定植物病毒,所以数据类型应该和采集的数据形式有关。 接下来,用户的需求是在阿里云平台上定义数据类型,这可能涉及到阿里云的各种服务,比如物联网平台(IoT Platform)、数据库(如RDS)、对象存储OSS)、或者大数据分析服务(如MaxCompute)。不同的服务可能需要不同的数据格式和结构。 首先,我需要确定用户传输的数据具体是什么形式。可能的类型包括: 1. **传感器数据**:比如温度、湿度、光照等环境参数,可能以数值形式存在。 2. **图像数据**:如果树莓派使用摄像头拍摄叶片照片,用于图像识别病害。 3. **文本数据**:比如病害类型名称、发生时间、位置信息等。 4. **结构化数据**:例如JSON格式,包含多个字段如设备ID、时间戳、病害类型、严重程度等。 5. **时间序列数据**:如果是持续监测,按时间顺序上传的数据。 根据用户提到的病害类型是yellow leaf curl virus,可能数据中包含病害名称、检测结果、设备信息、地理位置、时间戳等。这种情况下,数据类型可能以结构化数据为主,比如JSON格式,方便后续处理和分析。 接下来,考虑阿里云的服务。如果用户使用物联网平台(IoT Platform),通常数据是通过Topic上报,格式可以是JSON,平台会自动解析。在物联网平台中,定义物模型时,需要指定属性(比如病害类型为字符串类型,检测结果为布尔或数值型)。如果数据包含图片,可能需要使用OSS来存储图片文件,然后在数据库中保存图片的URL链接。 另外,如果用户需要存储到数据库,比如RDS(关系型数据库)或者表格存储(Table Store),需要定义对应的表结构,字段包括时间、设备ID、病害类型、位置等。而如果使用日志服务(SLS),可能需要定义日志格式,比如键值对。 所以,综合来看,数据类型的选择取决于数据的具体内容和用途。如果数据是结构化的,包含多个属性,推荐使用JSON格式,并在物联网平台中定义物模型,或者在数据库中设计相应的表结构。如果是图片或文件,则需要用OSS存储,并在数据库中记录元数据。 还需要考虑后续的数据处理和分析。如果使用阿里云的大数据服务,如MaxCompute或实时计算,结构化的数据会更方便处理。此外,如果涉及到机器学习服务,比如PAI,可能需要特定的数据格式来训练模型,比如图片需要预处理后的格式。 另外,用户可能需要考虑数据的大小和传输频率。如果是高频的小数据,结构化的JSON比较适合;如果是大文件如图片,分开存储更合适。同时,数据类型的定义要符合阿里云各服务的要求,比如IoT Platform的物模型属性需要指定数据类型(字符串、整数、浮点数等)。 总结步骤应该是:1. 确定数据内容与结构;2. 根据使用场景选择阿里云服务;3. 定义对应的数据类型,如JSON、物模型属性、数据库表字段等;4. 确保传输和存储的兼容性。</think>### 逐步解答:树莓派传输病害数据(黄化卷叶病毒)到阿里云的数据类型选择 --- #### **步骤1:明确数据内容和格式** 树莓派采集的病害数据可能包含以下信息: - **病害类型名称**(如 `"yellow leaf curl virus"`) - **检测时间**(时间戳或日期格式) - **设备ID**(标识树莓派或传感器) - **地理位置**(经纬度或区域编码) - **附加数据**(如传感器数值、图像路径、病害置信度等) **典型数据示例(JSON格式):** ```json { "device_id": "raspberrypi_001", "timestamp": "2023-10-05T14:30:00Z", "disease_type": "yellow_leaf_curl_virus", "location": { "lat": 30.2672, "lon": 120.1528 }, "confidence": 0.92, "image_url": "oss://bucket-name/path/to/image.jpg" } ``` --- #### **步骤2:选择阿里云服务及对应数据类型** 根据数据用途和规模,选择以下服务并定义数据类型: 1. **物联网平台(IoT Platform)** - **数据类型**:结构化数据(JSON格式) - **定义方式**: - 在 **物模型** 中定义属性(如 `disease_type` 为字符串类型)。 - 上报数据通过 `Topic` 传输,自动解析为物模型属性。 - **适用场景**:实时监测、设备管理。 2. **对象存储OSS)** - **数据类型**:非结构化文件(图片、视频等) - **定义方式**: - 存储病害图像或视频文件。 - 在JSON数据中记录文件路径(如 `image_url`)。 - **适用场景**:图像识别原始数据存储。 3. **云数据库(RDS/表格存储)** - **数据类型**:结构化表格数据 - **定义方式**: - 创建表字段:`disease_type`(VARCHAR)、`timestamp`(DATETIME)、`location`(GEOMETRY)等。 - **适用场景**:长期存储、查询分析。 4. **日志服务(SLS)** - **数据类型**:半结构化日志(键值对或JSON) - **定义方式**: - 通过日志主题(Logstore)定义索引字段。 - **适用场景**:高频上报的监测日志。 --- #### **步骤3:推荐数据类型组合** **典型方案**: 1. **核心数据**(病害类型、时间、位置): - 使用 **JSON格式** 通过物联网平台上报。 - 在物联网平台定义物模型属性(如字符串、浮点数)。 2. **图像数据**: - 上传至 **OSS**,生成URL链接后嵌入JSON字段。 3. **长期存储与分析**: - 将物联网平台数据转发至 **RDS** 或 **表格存储**,定义表结构。 --- #### **步骤4:配置示例(物联网平台物模型)** 在阿里云物联网平台中,物模型可定义为: ```json { "schema": "https://iotx-tsl.aliyuncs.com/schema.json", "profile": { "productKey": "your-product-key" }, "properties": [ { "identifier": "disease_type", "dataType": "text", "name": "病害类型" }, { "identifier": "confidence", "dataType": "double", "name": "置信度" } ] } ``` --- #### **注意事项** 1. **数据一致性**:确保树莓派数据格式与云端定义一致。 2. **安全性**:使用HTTPS/TLS加密传输,OSS文件设置访问权限。 3. **扩展性**:预留字段以兼容未来新增病害类型或传感器。 通过以上步骤,可高效传输黄化卷叶病毒数据至阿里云,并为后续分析提供结构化支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值