文档详情

废物分类与识别:废物分类中的数据增强技术_(3).图像数据增强方法.docx

发布:2025-04-02约1.66万字共33页下载文档
文本预览下载声明

PAGE1

PAGE1

图像数据增强方法

在废物分类与识别任务中,图像数据增强技术是提高模型泛化能力和准确率的重要手段。通过对原始图像进行一系列的变换,可以生成大量新的训练样本,从而增加模型的鲁棒性。本节将详细介绍几种常用的图像数据增强方法,并通过具体的代码示例来展示如何在实际项目中应用这些技术。

1.几何变换

几何变换是最常用的数据增强方法之一,包括旋转、平移、缩放、裁剪和翻转等操作。这些变换可以模拟不同视角和位置的图像,从而帮助模型更好地学习到目标的特征。

1.1旋转

旋转可以改变图像的角度,生成新的样本。通常,旋转角度在-15°到15°之间,以保持图像的自然性。

代码示例

importcv2

importnumpyasnp

importmatplotlib.pyplotasplt

defrotate_image(image,angle):

旋转图像

:paramimage:输入图像

:paramangle:旋转角度

:return:旋转后的图像

(h,w)=image.shape[:2]

center=(w//2,h//2)

M=cv2.getRotationMatrix2D(center,angle,1.0)

rotated=cv2.warpAffine(image,M,(w,h))

returnrotated

#读取原始图像

image=cv2.imread(waste_sample.jpg)

#旋转图像

rotated_15=rotate_image(image,15)

rotated_neg_15=rotate_image(image,-15)

#显示结果

plt.figure(figsize=(12,4))

plt.subplot(1,3,1)

plt.imshow(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))

plt.title(原始图像)

plt.axis(off)

plt.subplot(1,3,2)

plt.imshow(cv2.cvtColor(rotated_15,cv2.COLOR_BGR2RGB))

plt.title(旋转15°)

plt.axis(off)

plt.subplot(1,3,3)

plt.imshow(cv2.cvtColor(rotated_neg_15,cv2.COLOR_BGR2RGB))

plt.title(旋转-15°)

plt.axis(off)

plt.show()

1.2平移

平移可以改变图像的位置,生成新的样本。通常,平移的距离在图像的10%到20%之间。

代码示例

deftranslate_image(image,x,y):

平移图像

:paramimage:输入图像

:paramx:水平平移距离

:paramy:垂直平移距离

:return:平移后的图像

(h,w)=image.shape[:2]

M=np.float32([[1,0,x],[0,1,y]])

translated=cv2.warpAffine(image,M,(w,h))

returntranslated

#读取原始图像

image=cv2.imread(waste_sample.jpg)

#平移图像

translated_10_20=translate_image(image,10,20)

translated_neg_10_neg_20=translate_image(image,-10,-20)

#显示结果

plt.figure(figsize=(12,4))

plt.subplot(1,3,1)

plt.imshow(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))

plt.title(原始图像)

plt.axis(off)

plt.subplot(1,3,2)

plt.imshow(cv2.cvtColor(translated_10_20,cv2.COLOR_BGR2RGB))

plt.title(水平平移10,垂直平移20)

plt.axi

显示全部
相似文档