資源簡介
此代碼用于實現圖像數據增強,對圖片進行批量處理。包括圖片旋轉、翻轉、模糊、增加噪聲、亮度幾種處理。運行需要安裝python、opencv、numpy等。
使用時將圖片統一放在img文件夾中,并將img文件夾和下載的py文件放在一起。
代碼片段和文件信息
import?cv2
import?numpy?as?np
import?os.path
import?copy
def?SaltAndPepper(srcpercetage):
????SP_NoiseImg=src.copy()
????SP_NoiseNum=int(percetage*src.shape[0]*src.shape[1])
????for?i?in?range(SP_NoiseNum):
????????randR=np.random.randint(0src.shape[0]-1)
????????randG=np.random.randint(0src.shape[1]-1)
????????randB=np.random.randint(03)
????????if?np.random.randint(01)==0:
????????????SP_NoiseImg[randRrandGrandB]=0
????????else:
????????????SP_NoiseImg[randRrandGrandB]=255
????return?SP_NoiseImg
def?addGaussianNoise(imagepercetage):
????G_Noiseimg?=?image.copy()
????w?=?image.shape[1]
????h?=?image.shape[0]
????G_NoiseNum=int(percetage*image.shape[0]*image.shape[1])
????for?i?in?range(G_NoiseNum):
????????temp_x?=?np.random.randint(0h)
????????temp_y?=?np.random.randint(0w)
????????G_Noiseimg[temp_x][temp_y][np.random.randint(3)]?=?np.random.randn(1)[0]
????return?G_Noiseimg
def?darker(imagepercetage=0.9):
????image_copy?=?image.copy()
????w?=?image.shape[1]
????h?=?image.shape[0]
????#get?darker
????for?xi?in?range(0w):
????????for?xj?in?range(0h):
????????????image_copy[xjxi0]?=?int(image[xjxi0]*percetage)
????????????image_copy[xjxi1]?=?int(image[xjxi1]*percetage)
????????????image_copy[xjxi2]?=?int(image[xjxi2]*percetage)
????return?image_copy
def?brighter(image?percetage=1.5):
????image_copy?=?image.copy()
????w?=?image.shape[1]
????h?=?image.shape[0]
????#get?brighter
????for?xi?in?range(0w):
????????for?xj?in?range(0h):
????????????image_copy[xjxi0]?=?np.clip(int(image[xjxi0]*percetage)a_max=255a_min=0)
????????????image_copy[xjxi1]?=?np.clip(int(image[xjxi1]*percetage)a_max=255a_min=0)
????????????image_copy[xjxi2]?=?np
- 上一篇:[python]天氣預報附帶gui界面
- 下一篇:決策樹預測獲勝NBA球隊
評論
共有 條評論