Matlab:图像增强 imageDataAugmenter() 的用法

imageDataAugmenter()是MATLAB自带的图像增强选项,返回的是一组设置(options),比如要不要反转,或者随机缩放多少之类的,而不是直接返回增强后的图像。

用法:aug = imageDataAugmenter(Name,Value)
可以看到,输入是一系列的键值对

直接看一个示例会更直观

>> aug = imageDataAugmenter( ...
                        'RandXTranslation',[-2 2], ...
                        'RandYTranslation',[-2 2], ...
                        'RandXScale',[0.9 1.1], ...
                        'RandYScale',[0.9 1.1]);
>> aug

aug = 

  imageDataAugmenter - 属性:

           FillValue: 0
     RandXReflection: 0
     RandYReflection: 0
        RandRotation: [0 0]
           RandScale: [1 1]
          RandXScale: [0.9000 1.1000]
          RandYScale: [0.9000 1.1000]
          RandXShear: [0 0]
          RandYShear: [0 0]
    RandXTranslation: [-2 2]
    RandYTranslation: [-2 2]

imageDataAugmenter 有很多属性,这些都涉及图像如何进行增强,

  • FillValue:我也没看懂这个填充是啥意思…
  • RandXReflection:在水平方向随机翻转,
                                  若设置为1,则图像增强时有50%的几率进行翻转,默认为0,即不翻转
  • RandYReflection:在垂直方向随机翻转,同上
  • RandRotation:随机旋转,如:[-30 30],默认为[0 0]
  • RandScale:随机缩放,如:[0.7 2],默认[0 0]
  • RandXScale:对水平方向随机缩放
  • RandYScale:对垂直方向随机缩放
                            注:若RandScale不为[0 0],则RandXScale和RandYScale不起作用
  • RandXShear:水平裁剪,默认为[0 0]
  • RandYShear:垂直裁剪,默认为[0 0]
  • RandXTranslation:水平方向随机平移
  • RandYTranslation:垂直方向随机平移

以上只是有了一个图像增强的策略,还需要与augmentedImageDatastore连用才能完成图像增强。

augimdsTrain = augmentedImageDatastore([28,28],imds_train, ...
    'DataAugmentation',imageAugmenter);

上面,[28,28]为输出图像大小,imds_train为数据集,是一个ImageDatastore对象

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值