這篇文章主要講解了“PyTorch怎么實(shí)現(xiàn)椒鹽噪聲效果”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“PyTorch怎么實(shí)現(xiàn)椒鹽噪聲效果”吧!
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比洛隆網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式洛隆網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋洛隆地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
1. 將介紹的transforms方法一一地,單獨(dú)地實(shí)現(xiàn)對(duì)圖片的變換,并且通過plt.savefig將圖片保存下來
略
2. 自定義一個(gè)增加椒鹽噪聲的transforms方法,使得其能正確運(yùn)行
見下面代碼
3. 用手機(jī)將自己錢包中的100元人民幣正面進(jìn)行拍照,并且放到hello pytorch/lesson/lesson-09/test_data/100文件夾下,通過修改不同的數(shù)據(jù)增強(qiáng)方法,使得模型在10個(gè)epoch之后能正確區(qū)分你錢包中的100元
peper noise
import torch import numpy as np from PIL import Image from torchvision import datasets, models, transforms np.random.seed(1234) image_path = 'a.jpg' class AddPepperNoise(object): def __init__(self, snr, p): self.snr = snr self.p = p def __call__(self, img): p1 = np.random.uniform(low = 0.0, high = 1.0) if p1 > self.p: return img else: out_img = np.asarray(img).copy() h, w, c = out_img.shape for i in range(h): for j in range(w): for k in range(c): p2 = np.random.uniform(low = 0.0, high = 1.0) if p2 < self.snr: out_img[i][j][k] = out_img[i][j][k] elif p2 < self.snr + (1 - self.snr) / 2: out_img[i][j][k] = 0 else: out_img[i][j][k] = 255 # print(out_img[i][j][k]) print(out_img) tmp = Image.fromarray(out_img.astype('uint8')).convert('RGB') print('tmp:', tmp, np.asarray(tmp)) return tmp def main(): img = Image.open(image_path) now_transforms = transforms.Compose([ transforms.Resize((224, 224)), AddPepperNoise(snr = 0.9, p = 1.0), # transforms.ToTensor(), ]) img_transformed = now_transforms(img) print(img_transformed, np.asarray(img_transformed)) img_transformed.save('a_pepperNoise.jpg') if __name__ == '__main__': main()
感謝各位的閱讀,以上就是“PyTorch怎么實(shí)現(xiàn)椒鹽噪聲效果”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)PyTorch怎么實(shí)現(xiàn)椒鹽噪聲效果這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!