python-3.x - 从单个图像生成图像数据集
问题描述
我有一个看起来像这样的图像:
而我需要生成一个图像数据集,保留这张图像的基本特征,但增加了一些噪声,比如我们在图像中看到 1:30 时间的一条线。
主要是图像的粉红色部分(垂直线),蓝色部分(中央蓝色色调)和边缘的黄色/绿色部分。我希望以一种可以控制这三件事并随机生成的方式来“学习”图像:
- bluesh central hue 的小颜色变化和大小
- 垂直粉红色线条的粗细和颜色
- 黄色/绿色边缘及其大小(我可以以中间的蓝色为代价来扩展它们,反之亦然
- 约束:黄色圆圈(半导体晶片的图像)不能改变大小或形状。它可以在黑色方块的顶部移动。它内部的结构也可以改变,如上面3点所述。
对于有计算机视觉经验的人来说,这可能是一个简单的问题,但不幸的是,我在这个领域没有很多经验。所以,我很想知道在这个方向上取得进展的任何想法。谢谢。
解决方案
在安全地保持所有可能的特征的同时改变你的内部结构的形状对我来说似乎不是微不足道的。但是,您可以执行许多简单的转换来创建增强数据集,例如:
- 镜像:水平,垂直,对角线 - 将保留您的所有线条特征
旋转:通常你也会做一些旋转,但这显然会改变你想要保留的线条的方向,所以这不适用于你的情况- 剪切:可能仍然适用并且可以很好地添加一些稳健性,只要您不过度使用它并最终过度弯曲您的功能
除此之外,您可能还想为您的图像添加一些噪声,或上面列出的转换版本,例如高斯噪声或椒盐噪声。
您还可以使用颜色值,例如通过稍微改变 HSV 空间中不同色调值的饱和度。
您可以将这些方法中的任何一种组合成不同的组合,如果您尝试使用不同数量/类型的噪声的所有可能排列,您将获得相当大的数据集。
推荐阅读
- r - 合并数据框的列以仅在 r 中保持相等的值
- javascript - 在不使用 useState 的情况下实时反应本机读取的 TextInput 值
- django - django 模型中的名字
- android - Google Play 商店会自动更新应用程序吗?
- arduino - Arduino Mega:如何使用相同的经过验证的 RFID 标签并使用按钮切换 LED 的颜色?
- reactjs - 努力在样式对象上使用扩展运算符。我正在尝试保留多个属性,但无法弄清楚如何干净地做到这一点
- python - 谁能在 python 中解释为什么调用 super().__init__() 时调用子类中的 setter 方法
- flutter - FlutterFragmentActivity 不再打开应用程序
- python - PySpark - 枢轴所需的聚合表达式,找到'pythonUDF'
- node.js - 如何使用 firebase auth 正确验证服务器发送事件端点?