コード例 #1
0
def add_pepper_noise(img_path):
    """
    给图片添加椒盐噪声
    """
    image, x, y = read_image(img_path)
    for i in range(x):
        for j in range(y):
            pixel = image.getpixel((i, j))
            if random.random() > 0.99:
                image.putpixel((i, j), 255 if random.random() > 0.5 else 0)
            else:
                image.putpixel((i, j), pixel)
    return image
コード例 #2
0
def add_gaussian_noise(img_path):
    """
    给图片添加高斯噪声
    """
    image, x, y = read_image(img_path)
    gaussian_noise = 30 * np.random.normal(0, 1, (x, y))
    for i in range(x):
        for j in range(y):
            pixel = image.getpixel((i, j))
            if random.random() > 0.99:
                new_pixel = int(gaussian_noise[i, j] + pixel)
                image.putpixel((i, j), new_pixel)
            else:
                image.putpixel((i, j), pixel)
    return image
コード例 #3
0
from Gray import read_image
import math

image, x, y = read_image('c.png')
table = []
for i in range(256):
    table.append(40 * math.log1p(i))

image = image.point(table, 'L')
image.save('c_log.png')
コード例 #4
0
from Gray import read_image

image,x,y=read_image('b.png')
table=[]
for i in range(256):
    table.append(i**0.5)

image=image.point(table,'L')
image.save('b_pow.png')

コード例 #5
0
from Gray import read_image
import pandas as pd
import matplotlib.pyplot as plt

image, x, y = read_image('e.png')
pixels = []
for i in range(x):
    for j in range(y):
        pixel = image.getpixel((i, j))
        pixels.append((pixel))

pixels = pd.Series(pixels)
proportitionDict = dict(pixels.value_counts(normalize=True))

hist_dict = {}
add = 0
for i in range(256):
    if i in proportitionDict.keys():
        add += proportitionDict[i]
    hist_dict[i] = add

table = []
for i in range(256):
    table.append(hist_dict[i] * 255)
print(table)
image = image.point(table, 'L')
image.show()
image.save('e_hist.png')
コード例 #6
0
ファイル: hist2.py プロジェクト: librauee/ImageProcess
from Gray import read_image
import pandas as pd
import matplotlib.pyplot as plt


# 原图
image,x,y=read_image('g.png')
pixels=[]
for i in range(x):
    for j in range(y):
        pixel=image.getpixel((i,j))
        pixels.append((pixel))

pixels=pd.Series(pixels)
proportitionDict=dict(pixels.value_counts(normalize=True))

hist_dict={}
add=0
for i in range(256):
    if i in proportitionDict.keys():
        add+=proportitionDict[i]
    hist_dict[i]=add

table=[]
for i in range(256):
    table.append(hist_dict[i]*255)

plt.subplot(221)
plt.hist(pixels,bins=256)

# 目标图片
コード例 #7
0
from Gray import read_image

image, x, y = read_image('a.png')
for i in range(x):
    for j in range(y):
        pixel = image.getpixel((i, j))
        image.putpixel((i, j), 255 - pixel)
image.save('a_neg.png')