Keras 的 ImageDataGenerator 中的剪切究竟是做啥的?
Posted
技术标签:
【中文标题】Keras 的 ImageDataGenerator 中的剪切究竟是做啥的?【英文标题】:What exactly the shear do in ImageDataGenerator of Keras?Keras 的 ImageDataGenerator 中的剪切究竟是做什么的? 【发布时间】:2019-12-09 14:19:51 【问题描述】:不明白keras的ImageDataGenerator中shear参数的作用是什么
我曾尝试通过 ImageDataGenerator 中的 apply_transform 成员函数使用图像来应用剪切。应用此功能后,我可以看到图像似乎被旋转和拉伸。但我不明白它到底做了什么。
from keras.preprocessing.image import ImageDataGenerator
import matplotlib.pyplot as plt
import numpy as np
(train_x, train_y) , (test_x,test_Y) = cifar10.load_data()
img = train_x[0]
img_gen = ImageDataGenerator()
shear_intensity = np.arange(0,110,10, dtype = int)
nrow = 4
ncol = 3
plt.figure(figsize = (14,14))
for i,shear in enumerate(shear_intensity):
plt.title(f'shear intensity : shear')
plt.subplot(nrow, ncol, i+1)
plt.imshow(img_gen.apply_transform(img, 'shear' : shear))
plt.show()
图像确实有一些变化,但我无法理解效果。
【问题讨论】:
【参考方案1】:“剪切”意味着图像将沿轴扭曲,主要是为了创建或校正感知角度。它通常用于增强图像,以便计算机可以看到人类如何从不同角度看待事物。
来源:https://www.tutorialspoint.com/javafx/shearing_transformation【讨论】:
以上是关于Keras 的 ImageDataGenerator 中的剪切究竟是做啥的?的主要内容,如果未能解决你的问题,请参考以下文章