(一)python代码学习-数据处理图片加遮挡
代码:
from matplotlib import pyplot as plt
from PIL import Image, ImageDraw
import pylab
import numpy as np
impath = "000001.jpg"
img1 = Image.open(impath)
img1 = np.asarray(img1)/255.00
img2 = Image.open(impath)
draw = ImageDraw.Draw(img2)
draw.rectangle((60,90,100,120), fill = (0,0,0))
img2 = np.asarray(img2)/255.00
plt.figure(1)
plt.subplot(121)
plt.imshow(img1)
plt.title("Origin picture")
plt.subplot(122)
plt.imshow(img2)
plt.title("Add obstacle")
plt.savefig("obstacle_image.jpg")
pylab.show()
(二)python代码学习-数据处理:图片加噪声
数据加噪:
- 高斯噪声(Gaussian noise)是指它的概率密度函数服从高斯分布的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
- 椒盐噪声(salt-and-pepper noise)是指两种噪声,一种是盐噪声(salt noise),另一种是胡椒噪声(pepper noise)。盐=白色(0),椒=黑色(255)。前者是高灰度噪声,后者属于低灰度噪声。一般两种噪声同时出现,呈现在图像上就是黑白杂点。
为图片增加高斯噪声代码
from matplotlib import pyplot as plt
from skimage import io
import skimage
import pylab
impath = "000001.jpg"
image = io.imread(impath)
img1 = image / 255.00
img2 = skimage.util.random_noise(image,mode='gaussian',seed=None,clip=True)
plt.figure(1)
plt.subplot(121)
plt.imshow(img1)
plt.title("Origin picture")
plt.subplot(122)
plt.imshow(img2)
plt.title("Add Gaussian noise")
pylab.show()
plt.savefig("noise_image.jpg")
shimage.util.random_noise(image,mode ='gaussian',seed=None,clip=True)
注意事项:
(三)python代码学习-数据处理:数据加模糊
高斯模糊:
opencv 函数:
blur = cv2.GaussianBlur(img,(5,5),0)
函数参数说明:
图片高斯模糊代码
from matplotlib import pyplot as plt
import cv2
import pylab
impath = "000001.jpg"
kernel_size = (5,5)
sigma = 1.5
img11 = cv2.imread(impath)
# BGR -> RGB
b,g,r=cv2.split(img11)
img11=cv2.merge([r,g,b])
# BGR -> RGB
# img2=img[: , : , : : -1]
img1 = img11/255.00
img2 = cv2.GaussianBlur(img1,kernel_size,sigma)
# cv2.imwrite(blur_image, img2)
plt.figure(1)
plt.subplot(121)
plt.imshow(img1)
plt.title("Origin picture")
plt.subplot(122)
plt.imshow(img2)
plt.title("Add Gaussian Blur")
plt.savefig("blur_image.jpg")
pylab.show()