albumentations图像增强库使用简易流程

简介: albumentations图像增强库使用简易流程

具体细节看官方文档,写的比较清晰。下面仅为学习笔记。

1.安装

pip install -U albumentations

2.例子

#读取图片
image = cv2.imread("...")
#转为BGR转为RGB
image = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
#定义pipeline
transform = A.Compose([
    A.CLAHE(),
    A.RandomRotate90(),
    A.Transpose(),
    A.ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.50, rotate_limit=45, p=.75),
    A.Blur(blur_limit=3),
    A.OpticalDistortion(),
    A.GridDistortion(),
    A.HueSaturationValue(),
])
#对图片进行变换
augmented_image = transform(image=image)['image']
#可视化图片
visualize(augmented_image)

3.注意点

  • 输入的是numpy.ndarray的格式
  • 3通道图片增强时候一定要是RGB的顺序,opencv读取的时候,要将BGR转为RGB
transform = A.Compose([
    A.RandomCrop(width=256, height=256),
    A.HorizontalFlip(p=0.5),
    A.RandomBrightnessContrast(p=0.2),
])
  • transform相当于一个类,输入参数(image=image)相当于实例化,返回一个字典,用键’image’获得图片。
    每次使用的时候重新call transform ,这样每个实例化的对象参数都不一样。如果重复call transformed_image_1,那么增强的参数是一样的,每次结果就一样了。
transform = A.Compose([
    A.RandomBrightnessContrast(brightness_limit=1, contrast_limit=1, p=1.0),
])
transformed_image_1 = transform(image=image)['image']
transformed_image_2 = transform(image=image)['image']
transformed_image_3 = transform(image=image)['image']
相关文章
|
数据采集 前端开发 JavaScript
服务器端渲染(SSR)与客户端渲染(CSR)的比较
服务器端渲染(SSR)与客户端渲染(CSR)的比较
2314 0
|
Java Nacos Spring
spring boot 2.6.x接入spring cloud alibaba 2021.x版本nacos
spring cloud alibaba 2021.x版本nacos配置中心对接spring boot 2.6版本。
spring boot 2.6.x接入spring cloud alibaba 2021.x版本nacos
|
数据采集 JSON 编解码
收藏|Unsplash高清壁纸批量下载(源码+工具)!
收藏|Unsplash高清壁纸批量下载(源码+工具)!
|
存储 安全 开发工具
深入了解云计算架构:从基础到高级
云计算架构是当今信息技术领域中备受瞩目的话题。它已经在商业、科学和日常生活中发挥了巨大作用,为企业提供了灵活性、可扩展性和效率。本文将深入探讨云计算架构的各个方面,从基础概念到高级特性一一介绍。
|
程序员 开发者
开源项目:一行代码,批量 PDF 转 Word 轻松搞定!
程序员晚枫分享了 `popdf` 的新功能:支持批量 PDF 转 Word!只需简单代码,即可轻松实现单文件或批量转换。`input_path` 和 `output_path` 参数让操作更便捷,适合处理大量 PDF 文件。作为开发者,晚枫致力于解决技术小痛点,欢迎体验并反馈。项目地址:[https://github.com/CoderWanFeng/popdf](https://github.com/CoderWanFeng/popdf)
1313 6
|
druid Java 应用服务中间件
五大主流数据库连接池的深度剖析与对比
HikariCP通过优化concurrentBag和fastStatementList等集合,提升了并发的读写效率。它采用threadlocal缓存连接,并大量运用CAS机制,以最大程度地减少lock的使用。从字节码的维度进行代码优化,确保方法尽量控制在35个字节码以内,以提升JVM处理效率。HikariCP在此基础上的进一步优化措施包括:利用ping命令进行mysql连接,以及通过Sharding-JDBC的Driver、Server和Sidecar三个版本,构建灵活多样的生态系统,满足不同需求和环境。对于线上应用,Sharding-JDBC-Driver可提供直连数据库的最优性能,而Sha
|
Web App开发 移动开发 安全
h5页面的优缺点(浅谈)
H5页面优点包括:跨平台性,易于传播,丰富的多媒体支持,开发成本低,更新便捷,良好的交互性。缺点则有:性能受限,功能受限,高度依赖网络,存在安全风险,用户体验一致性差。确保H5页面在不同设备上的兼容性,需遵循HTML5标准,使用响应式设计,并进行多设备测试。优化H5页面性能的方法包括减少HTTP请求,压缩文件大小,利用缓存机制,优化代码执行效率等。
|
前端开发 JavaScript Serverless
Python+Dash快速web应用开发:回调交互篇(上)
Python+Dash快速web应用开发:回调交互篇(上)
537 3
|
数据可视化 数据挖掘 数据处理
B 端试用期考核指标
B端产品经理试用期考核指标涵盖了项目策划、用户需求理解、团队协作、技术能力、创新思维、项目管理、产品投放时间、产品质量、产品利润及基础服务接入等方面。这些指标通过自我评估和上级评估相结合的方式进行,分为优秀(5分)到不合格(1分)五个等级。具体内容包括制定合理项目计划、准确把握用户需求、有效沟通协调团队、掌握技术细节、提出创新方案等。实际案例展示了如何通过成功项目实施、解决业务痛点、优化产品功能等方式,全面评估产品经理的综合能力,确保其胜任后续工作任务。
883 0
|
人工智能 自然语言处理 机器人
用Python构建你的第一个聊天机器人
【10月更文挑战第7天】在这篇文章中,我们将一起探索如何利用Python编程语言和AI技术,一步步打造一个基础的聊天机器人。无论你是编程新手还是有一定经验的开发者,都能通过这个指南获得启发,并实现一个简单的对话系统。文章将引导你理解聊天机器人的工作原理,教你如何收集和处理用户输入,以及如何设计机器人的响应逻辑。通过动手实践,你不仅能够学习到编程技能,还能深入理解人工智能在语言处理方面的应用。
1016 0

热门文章

最新文章