Albumentation使用指南

import最好放在最前面否则可能会和其他模块冲突,import之后如果包OMP的错误就加两行

import os

os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'

资源

官方example

官方demo

使用

import albumentations as A
from PIL import Image
import cv2 as cv
import numpy as np
from data import get_dir, get_data, get_regr_tagtrans =  A.Compose([A.HorizontalFlip(p = 0.5),# A.Transpose(),A.OneOf([A.IAAAdditiveGaussianNoise(),A.GaussNoise(),], p=0.3),A.OneOf([A.MotionBlur(p=0.2),A.MedianBlur(blur_limit=3, p=0.1),A.Blur(blur_limit=3, p=0.1),], p=0.5),A.ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.2, rotate_limit=45, p=0.2),A.OneOf([A.OpticalDistortion(p=0.3),A.GridDistortion(p=0.1),A.IAAPiecewiseAffine(p=0.3),], p=0.5),A.OneOf([A.CLAHE(clip_limit=2),A.IAASharpen(),A.IAAEmboss(),A.RandomBrightnessContrast(),], p=0.5),A.HueSaturationValue(p=0.3),])
src_data = get_data(f'D:/face_five', n_class = 5)
image = src_data[0][0]
img = trans(image = image)['image']cv.imshow("da", img)
cv.waitKey(0)

A.OneOf是从列表里选一个相当于transforms里的randomCoice

A.Compose与transforms里的一样

简单增样:

随机调整亮度:

RandomBrightness(limit=2, p=0.5)

limit最大时现在的两倍,p是调整的概率

随机旋转:

Rotate(limit=89, p=0.5)

色度偏移:

RGBShift(r_shift_limit=133, g_shift_limit=146, b_shift_limit=26, p=0.5)

三原色在原本基础上增加或减小

伽马变换:

RandomGamma(gamma_limit=148, p=0.5)

色域的非线性变换

垂直翻转:

VerticalFlip(p=0.5)

水平翻转:

HorizontalFlip(p=0.5)

随机90度旋转:

RandomRotate90(p = 0.5)

旋转平移缩放:

ShiftScaleRotate(shift_limit=0.8, scale_limit=1, rotate_limit=118, p=0.5)

rotate_limit:旋转角度限制

scale_limit:缩放尺寸限制,(0到2)

shift_limit:平移限制(0 到1)

周围空缺部分均镜面填补

转灰度图:

trans_test = A.ToGray()

中心裁剪:

CenterCrop(height=480, width=480, p=0.5)

HSV偏移:

HueSaturationValue(hue_shift_limit=20, sat_shift_limit=20, val_shift_limit=27, p=0.5)

hue:色度

sat:饱和度

val:亮度

随机对比度:

RandomContrast(limit=2.3, p=0.5)

limit:0到3, 1为正常值

高级增样:

图片压缩:

JpegCompression(quality_lower=80, quality_upper=100, p=0.5)

quality_lower&quality_upper设置压缩百分比的上下限

质量压缩:

模糊处理:

box模糊:

trans_test = A.Blur(blur_limit=7, p=1)

blur_limit:最大的核尺寸,核尺寸的最小值是3,blur_limit默认为7

中值模糊:

A.MedianBlur(blur_limit=3, p=0.1)

blur_limit:同上(但只能是奇数)

动态模糊:

A.MotionBlur(p=0.2)

blur_limit同上

高斯模糊:

blur_limit(奇数)

trans_test = A.GaussianBlur(blur_limit=7, p=1)

棱镜模糊:

trans_test = A.GlassBlur(sigma=0.7, max_delta=4)

sigma:高斯核的标准差

max_delta:像素交换的最大距离

变形:

弹性变形:

文本图像分析最好的变形

ElasticTransform(alpha=155, sigma=210, alpha_affine=157, p=0.5)

光学变形:

OpticalDistortion(distort_limit=0.25, shift_limit=0.2, p=0.5)

distort_limit四周镜像填充宽度(图片大小不变)

shift_limit

栅格变形:

trans_test = A.GridDistortion(num_steps=5, distort_limit=0.3, p=1)

num_steps:一条边有几个格子

distort_limit:变形范围

自适应直方图均衡化:

trans_test = A.CLAHE(clip_limit=4.0, tile_grid_size=(8, 8))

挖小洞:

trans_test = A.Cutout(num_holes=8, max_h_size=8, max_w_size=8)

num_holes:小洞的数量

max_h_size:最大高度

max_w_size:最大宽度

特效:

加雪花:

trans_test = A.RandomSnow(p = 1)

加雨滴:

trans_test = A.RandomRain(p = 1)

加雾:

trans_test = A.RandomFog(p = 1)

加阳光:

trans_test = A.RandomSunFlare(p = 1)

加阴影:

trans_test = A.RandomShadow(p = 1)

添加噪声:

添加传感器噪声:

trans_test = A.ISONoise(p = 1)

高斯噪声:

trans_test = A.IAAAdditiveGaussianNoise(p = 1)

多层偏移噪声:

trans_test = A.MultiplicativeNoise(p = 1)

IAA:

浮雕:

trans_test = A.IAAEmboss(p = 1)

超像素:

trans_test = A.IAASuperpixels(p = 1)

锐化:

trans_test = A.IAASharpen(p = 1)

透视变换:

trans_test = A.IAAPerspective(p = 1)

pytorch:

albumentation有两种转换张量, ToTensor和ToTensorV2

from albumentations.pytorch import ToTensorV2, ToTensorA.ToTensorV2(p=1.0),A.ToTensor()

ToTensor就是最普通的最大值归一化并且转化为chw

ToTensor就是把图片转成张量适合跟在A.Normalize后面

不定期更新。。

Albumentation使用指南相关推荐

  1. 超详细中文预训练模型ERNIE使用指南-源码

    作者 | 高开远,上海交通大学,自然语言处理研究方向 最近在工作上处理的都是中文语料,也尝试了一些最近放出来的预训练模型(ERNIE,BERT-CHINESE,WWM-BERT-CHINESE),比对 ...

  2. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

  3. ASIC设计-终极指南

    ASIC设计-终极指南 ASIC Design – The Ultimate Guide ASIC设计-终极指南 ASICs代表特定于应用的集成电路,指的是针对特定应用而设计的半导体解决方案,与其他解 ...

  4. Python神经网络集成技术Guide指南

    Python神经网络集成技术Guide指南 本指南将介绍如何加载一个神经网络集成系统并从Python运行推断. 提示 所有框架的神经网络集成系统运行时接口都是相同的,因此本指南适用于所有受支持框架(包 ...

  5. 深度学习框架集成平台C++ Guide指南

    深度学习框架集成平台C++ Guide指南 这个指南详细地介绍了神经网络C++的API,并介绍了许多不同的方法来处理模型. 提示 所有框架运行时接口都是相同的,因此本指南适用于所有受支持框架(包括Te ...

  6. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

  7. Maven入门指南⑦:Maven的生命周期和插件

    Maven入门指南⑦:Maven的生命周期和插件 一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周 ...

  8. ini文件怎么使用_ftp文件下载工具,ftp文件下载工具是怎么使用的?使用指南

    ftp文件下载工具是什么工具,可能有人会回答说不知道,因为一般只有从事网站管理的工作者会使用的多一点.但不是每个人生来就会的,所以刚开始肯定都会学习怎么使用.这篇文章就来教一下大家ftp文件下载工具是 ...

  9. 王建春计算机应用基础,计算机应用基础(本)教学指南.pdf

    "计算机应用基础(本 )"教学指南 一.课程概况 课程性质.教学目标.教学内容等详见 "课程导学--学什么". 1.学习资源 现有教学资源 功能 "学 ...

  10. java修改 nsf中的数据_最新NSF申请指南中的一些重要改动

    作者:孟津 美国NSF已更新其申请书的写作和提交指南,从2009年1月5日起实施.比较重要的变化有下列几点,涉及几个方面: 1. 博士后指导:每一个含有支持博士后资金的申请,必须在申请书规定的15页课 ...

最新文章

  1. 使用PHP将HTTP标头设置为UTF-8
  2. PHP CURL 中文说明
  3. Struts2 随笔1
  4. Mysql 练习 总结
  5. java软件字如何放大_放大Java Swing应用程序
  6. PHP高效的敏感词过滤方法
  7. Java EE:异步构造和功能
  8. 整数因子分解c语言递归,整数因子分解:计算一个整数所有的分解式(递归实现)...
  9. 面向关系数据库的智能索引调优方法
  10. BugkuCTF-Reverse题不好用的ce
  11. hibernate学习内容
  12. 实践:在运维大数据这事上,Apache Kylin比ELK更擅长?
  13. Linux(2) vi和vim编辑器
  14. 最大后验估计与共轭分布
  15. 短视频如何制作?前期、拍摄和后期,三个步骤很重要
  16. 杂记 什么是IP核?
  17. 猫眼网历史日票房数据爬取
  18. 计算机语言与语法,编程语言中语法和语义有什么区别?
  19. Data Import Handler - DIH相关命令
  20. 爱情本身就是一种习惯

热门文章

  1. PostgreSQL透明数据加密
  2. linux红帽8怎么安yum,RedHat Linux 8本地Yum源配置方法
  3. oracle用户新建和授权,oracle创建用户及受权
  4. AI赋能的视频编辑器效果如何? | MixLab智能产品
  5. 计算机安装程序的文件名一般是什么,[电脑基础知识]什么是文件的后缀名.doc
  6. HDU4747 MEX(dp ,递推)
  7. BetterScroll 2.0网络数据过慢,不能滚动问题
  8. 2022-2027年中国科技孵化器市场竞争态势及行业投资前景预测报告
  9. python colorsys模块 RGB和其他色彩系统(颜色空间)(YIQ、HLS、HSV)之间的转换 hsv_to_rgb(h, s, v)函数
  10. 腾讯视频播放插件Txplayer的使用