东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3586|回复: 1
打印 上一主题 下一主题

[学习笔记] 038、imgaug图像增强之混合叠加图片

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14435
QQ
跳转到指定楼层
楼主
发表于 2020-1-13 20:43:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


038、imgaug图像增强之混合叠加图片

  1. # -*- coding: utf-8 -*-
  2. __author__ = u'东方耀 微信:dfy_88888'
  3. __date__ = '2020/1/13 20:21'
  4. __product__ = 'PyCharm'
  5. __filename__ = 'Overlaying images'

  6. '''
  7. 混合叠加图片
  8. augment会直接改变图片而把原图舍弃掉了。有时我们需要改变图像的局部,或者将原来的图片跟新变换的图片结合起来。
  9. 这可以通过给变换前后的图片配上一定的权重(参数)或者使用一个pixel-wise的mask
  10. '''
  11. import imgaug as ia
  12. import imgaug.augmenters as iaa
  13. import numpy as np


  14. image = ia.quokka(size=(256, 256))
  15. print(type(image), image.shape)
  16. ia.seed(666)

  17. batch_images = [image] * 8

  18. seq1 = iaa.Sequential(children=[
  19.     # First row
  20.     iaa.Alpha(
  21.         (0.0, 1.0),
  22.         first=iaa.MedianBlur(11),
  23.         per_channel=True
  24.     )
  25. ])

  26. batch_images_row1 = seq1.augment_images(batch_images)
  27. batch_images_row1 = np.hstack(batch_images_row1)
  28. # ia.imshow(batch_images_row1)


  29. seq2 = iaa.Sequential(children=[
  30.     # Second row
  31.     iaa.SimplexNoiseAlpha(
  32.         first=iaa.EdgeDetect(1.0),
  33.         per_channel=False
  34.     )
  35. ])

  36. batch_images_row2 = seq2.augment_images(batch_images)
  37. batch_images_row2 = np.hstack(batch_images_row2)

  38. seq3 = iaa.Sequential(children=[
  39.     # Third row
  40.     iaa.SimplexNoiseAlpha(
  41.         first=iaa.EdgeDetect(1.0),
  42.         # second=iaa.ContrastNormalization((0.5, 2.0)),
  43.         second=iaa.contrast.LinearContrast(alpha=(0.5, 2.0)),
  44.         per_channel=0.5
  45.     )
  46. ])

  47. batch_images_row3 = seq3.augment_images(batch_images)
  48. batch_images_row3 = np.hstack(batch_images_row3)

  49. seq4 = iaa.Sequential(children=[
  50.     # Forth row
  51.     iaa.FrequencyNoiseAlpha(
  52.         first=iaa.Affine(
  53.             rotate=(-10, 10),
  54.             translate_px={"x": (-4, 4), "y": (-4, 4)}
  55.         ),
  56.         second=iaa.AddToHueAndSaturation((-40, 40)),
  57.         per_channel=0.5
  58.     )
  59. ])

  60. batch_images_row4 = seq4.augment_images(batch_images)
  61. batch_images_row4 = np.hstack(batch_images_row4)

  62. seq5 = iaa.Sequential(children=[
  63.     # Fifth row
  64.     iaa.SimplexNoiseAlpha(
  65.         first=iaa.SimplexNoiseAlpha(
  66.             first=iaa.EdgeDetect(1.0),
  67.             second=iaa.contrast.LinearContrast(alpha=(0.5, 2.0)),
  68.             per_channel=True
  69.         ),
  70.         second=iaa.FrequencyNoiseAlpha(
  71.             exponent=(-2.5, -1.0),
  72.             first=iaa.Affine(
  73.                 rotate=(-10, 10),
  74.                 translate_px={"x": (-4, 4), "y": (-4, 4)}
  75.             ),
  76.             second=iaa.AddToHueAndSaturation((-40, 40)),
  77.             per_channel=True
  78.         ),
  79.         per_channel=True,
  80.         aggregation_method="max",
  81.         sigmoid=False
  82.     )
  83. ])

  84. batch_images_row5 = seq5.augment_images(batch_images)
  85. batch_images_row5 = np.hstack(batch_images_row5)


  86. ia.imshow(np.vstack([batch_images_row1, batch_images_row2, batch_images_row3, batch_images_row4, batch_images_row5]))

复制代码


混合叠加图片.jpg (304.73 KB, 下载次数: 160)

混合叠加图片.jpg
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

0

主题

117

帖子

258

积分

中级会员

Rank: 3Rank: 3

积分
258
QQ
沙发
发表于 2020-2-3 15:20:48 | 只看该作者
谢谢老师答疑解惑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-4-26 23:57 , Processed in 0.193058 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表