国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現對圖像加噪(高斯噪聲 椒鹽噪聲)

Python實現對圖像加噪(高斯噪聲 椒鹽噪聲)

2022-03-07 00:15驪山道童 Python

這篇文章主要介紹了展示通過Python給圖像疊加不同等級的椒鹽噪聲和高斯噪聲的代碼,相應的疊加噪聲的已編為對應的類,可實例化使用。感興趣的同學可以看看

內容簡介

展示如何給圖像疊加不同等級的椒鹽噪聲和高斯噪聲的代碼,相應的疊加噪聲的已編為對應的類,可實例化使用。以下主要展示自己編寫的:

加噪聲的代碼(高斯噪聲,椒鹽噪聲)

add_noise.py

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#代碼中的noisef為信號等級,例如我需要0.7的噪聲,傳入參數我傳入的是1-0.7
from PIL import Image
import numpy as np
import random
 
import torchvision.transforms as transforms
 
norm_mean = (0.5, 0.5, 0.5)
norm_std = (0.5, 0.5, 0.5)
class AddPepperNoise(object):
    """增加椒鹽噪聲
    Args:
        snr (float): Signal Noise Rate
        p (float): 概率值,依概率執行該操作
    """
 
    def __init__(self, snr, p=0.9):
        assert isinstance(snr, float) and (isinstance(p, float))    # 2020 07 26 or --> and
        self.snr = snr
        self.p = p
 
    def __call__(self, img):
        """
        Args:
            img (PIL Image): PIL Image
        Returns:
            PIL Image: PIL image.
        """
        if random.uniform(0, 1) < self.p:
            img_ = np.array(img).copy()
            h, w, c = img_.shape
            signal_pct = self.snr
            noise_pct = (1 - self.snr)
            mask = np.random.choice((0, 1, 2), size=(h, w, 1), p=[signal_pct, noise_pct/2., noise_pct/2.])
            mask = np.repeat(mask, c, axis=2)
            img_[mask == 1] = 255   # 鹽噪聲
            img_[mask == 2] = 0     # 椒噪聲
            return Image.fromarray(img_.astype('uint8')).convert('RGB')
        else:
            return img
 
class Gaussian_noise(object):
    """增加高斯噪聲
    此函數用將產生的高斯噪聲加到圖片上
    傳入:
        img   :  原圖
        mean  :  均值
        sigma :  標準差
    返回:
        gaussian_out : 噪聲處理后的圖片
    """
 
    def __init__(self, mean, sigma):
 
        self.mean = mean
        self.sigma = sigma
 
    def __call__(self, img):
        """
        Args:
            img (PIL Image): PIL Image
        Returns:
            PIL Image: PIL image.
        """
        # 將圖片灰度標準化
        img_ = np.array(img).copy()
        img_ = img_ / 255.0
        # 產生高斯 noise
        noise = np.random.normal(self.mean, self.sigma, img_.shape)
        # 將噪聲和圖片疊加
        gaussian_out = img_ + noise
        # 將超過 1 的置 1,低于 0 的置 0
        gaussian_out = np.clip(gaussian_out, 0, 1)
        # 將圖片灰度范圍的恢復為 0-255
        gaussian_out = np.uint8(gaussian_out*255)
        # 將噪聲范圍搞為 0-255
        # noise = np.uint8(noise*255)
        return Image.fromarray(gaussian_out).convert('RGB')
 
def image_transform(noisef):
    """對訓練集和測試集的圖片作預處理轉換
        train_transform:加噪圖
        _train_transform:原圖(不加噪)
        test_transform:測試圖(不加噪)
    """
    train_transform = transforms.Compose([
        transforms.Resize((256, 256)),  # 重設大小
        #transforms.RandomCrop(32,padding=4),
        AddPepperNoise(noisef, p=0.9),                 #加椒鹽噪聲
 
        #Gaussian_noise(0, noisef),  # 加高斯噪聲
 
        transforms.ToTensor(),  # 轉換為張量
        # transforms.Normalize(norm_mean,norm_std),
    ])
    _train_transform = transforms.Compose([
        transforms.Resize((256, 256)),
        #transforms.RandomCrop(32,padding=4),
        transforms.ToTensor(),
        # transforms.Normalize(norm_mean,norm_std),
 
    ])
    test_transform = transforms.Compose([
        transforms.Resize((256, 256)),
        #transforms.RandomCrop(32,padding=4),
        transforms.ToTensor(),
        # transforms.Normalize(norm_mean,norm_std),
 
    ])
    return train_transform, _train_transform, test_transform

在pytorch中如何使用

?
1
2
3
4
5
6
# 圖像變換和加噪聲train_transform為加噪圖,_train_transform為原圖,test_transform為測試圖   noisef為傳入的噪聲等級
train_transform,_train_transform,test_transform = image_transform(noisef)
 
training_data=FabricDataset_file(data_dir=train_dir,transform=train_transform)
_training_data=FabricDataset_file(data_dir=_train_dir,transform=_train_transform)
testing_data=FabricDataset_file(data_dir=test_dir,transform=test_transform)<font face="Arial, Verdana, sans-serif"><span style="white-space: normal;"> </span></font>

補充

圖像添加隨機噪聲

隨機噪聲就是通過隨機函數在圖像上隨機地添加噪聲點

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def random_noise(image,noise_num):
    '''
    添加隨機噪點(實際上就是隨機在圖像上將像素點的灰度值變為255即白色)
    :param image: 需要加噪的圖片
    :param noise_num: 添加的噪音點數目,一般是上千級別的
    :return: img_noise
    '''
    #
    # 參數image:,noise_num:
    img = cv2.imread(image)
    img_noise = img
    # cv2.imshow("src", img)
    rows, cols, chn = img_noise.shape
    # 加噪聲
    for i in range(noise_num):
        x = np.random.randint(0, rows)#隨機生成指定范圍的整數
        y = np.random.randint(0, cols)
        img_noise[x, y, :] = 255
    return img_noise
?
1
2
3
img_noise = random_noise("colorful_lena.jpg",3000)
cv2.imshow('random_noise',img_noise)
cv2.waitKey(0)

以上就是Python實現對圖像添加高斯噪聲或椒鹽噪聲的詳細內容,更多關于Python的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/qq_41858510/article/details/121485126

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久99国产精品久久99大师 | 日本乱码视频 | 操操操操操操 | 一本久久综合亚洲鲁鲁五月天 | 成人免费一区二区三区视频软件 | 亚洲天堂中文字幕 | 韩日一区| 精品免费一区 | 日韩精品免费一区二区三区 | 人人人人人你人人人人人 | 亚洲欧美视频二区 | 一级片在线观看 | 国产伦精品一区二区三区四区视频 | 国产亚洲精品久久久闺蜜 | a级毛片免费高清视频 | 一区在线观看 | 免费毛片在线 | 国产欧美日韩综合精品一区二区 | 黄久久久 | 日韩在线观看一区 | 99re在线精品 | 四影虎影ww4hu55.com| 一级黄色大片在线 | 日韩极品在线 | 亚洲成人免费 | 精品一区二区三区在线视频 | 免费久久99精品国产婷婷六月 | 日韩在线播放一区二区三区 | 成人亚洲精品777777大片 | 久久精品久久久久久 | 日韩免费 | 精品人成 | 欧美日韩精品一区二区三区蜜桃 | 午夜你懂得 | 国产成人精品免高潮在线观看 | 国产99久久久精品视频 | 亚洲欧美在线视频 | 久久久人成影片免费观看 | 成人h在线| 羞羞视频免费观看网站 | 国产特级毛片aaaaaa高清 |