深度学习之图像扩充

1.图像旋转

from PIL import Image
import numpy as np
from skimage import data, exposure, img_as_float
import matplotlib.pyplot as plt
# 读取图像
im = Image.open("17.jpg")
im.show()

# 指定逆时针旋转的角度
im_rotate = im.rotate(45)
im_rotate.show()
im_rotate.save('t2.jpg')

2.图像翻转

out1 = im.transpose(Image.FLIP_LEFT_RIGHT)
out1.show()
out1.save('t3.jpg')
# out2 = im.transpose(Image.FLIP_TOP_BOTTOM)
# out2.show()
# img1 = np.array(out2)
# print(img1.shape)

3.图像加噪声

以下代码噪声图像的生成采用对图像进行高斯平滑,之后在随机的对图像添加椒盐噪声。

import cv2
from numpy import *


def SaltAndPepper(src, percetage):
    NoiseImg = src
    NoiseNum = int(percetage * src.shape[0] * src.shape[1])
    for i in range(NoiseNum):
        randX = random.random_integers(0, src.shape[0] - 1)
        randY = random.random_integers(0, src.shape[1] - 1)
        if random.random_integers(0, 1) == 0:
            NoiseImg[randX, randY] = 0
        else:
            NoiseImg[randX, randY] = 255
    return NoiseImg


if __name__ == '__main__':
    img = cv2.imread('test.jpg')
    gimg = cv2.GaussianBlur(img, (7, 7), sigmaX=0)
    cv2.imshow('img2', gimg)
    cv2.waitKey()
    NoiseImg = SaltAndPepper(img, 0.4)
    # cv2.imshow('img',gimg)
    # figure()
    Pers = [0.1, 0.2, 0.3]
    for i in Pers:
        NoiseImg = SaltAndPepper(gimg, i)
        fileName = 'GaussianSaltPepper' + str(i) + '.jpg'
        # cv2.imwrite(fileName, NoiseImg, [cv2.IMWRITE_JPEG_QUALITY, 100])
        cv2.imshow('img2', NoiseImg)
        cv2.waitKey()

 图像中的噪声就是图像中的杂点或者干扰成分,噪声主要产生于图像的获取和传输过程中。噪声一般分为分为加性噪声和乘性噪声。

                                    

其中f(x,y)表示图像,g(x,y)表示没有噪声的图像部分,q表示噪声。这两种噪声可以通过取对数和指数相互转换:

                                    

常见的几种噪声有,高斯噪声、瑞利噪声、指数噪声和椒盐噪声。除椒盐噪声以外其他三种均属于加性噪声。椒盐噪声既不属于加性噪声也不属于乘性噪声。

噪声是有噪声分量灰度值的统计特性来描述的,它们可以被认为是由概率密度函数(PDF)表示的随机变量,下面是几种噪声的概率密度函数。

高斯随机变量z的概率密度函数为:

                                     

μ表示z的期望值,σ表示z的方差。

瑞利噪声的概率密度函数为:

                                     

它的均值和方差分别为a+√(πb)/4和b(4-π)/4。

指数分布噪声的概率密度函数为:

                                     

它的均值和方差分别为1/a和1/a2,其中a>0。

椒盐噪声又称双击脉冲噪声,它类似于随机分布在图像上的胡椒(黑色)和盐粒(白色)。它的概率密度函数为:

                                    

对于一个8位深度图像,a=0,b=255.


猜你喜欢

转载自blog.csdn.net/u011489887/article/details/80574204