#-*-coding:utf-8-*-fromPILimportImage,ImageEnhanceimportnumpyasnpimportrandomimportcv2defrandomColor(image):"""抖动图像的颜色:paramimage:PILimageimage:return:colordifferenceImageimage"""image=Image.fromarray(np.uint8(image))random_factor=np.random.randint(0,21)/10.#随机因子color_image=ImageEnhance.Color(image).enhance(random_factor)#调整图像的饱和度random_factor=np.random.randint(10,21)/10.#随机因子brightness_image=ImageEnhance.Brightness(color_image).enhance(random_factor)#调整图像的亮度random_factor=np.random.randint(10,21)/10.#随机因子1contrast_image=ImageEnhance.Contrast(brightness_image).enhance(random_factor)#调整图像对比度random_factor=np.random.randint(0,21)/10.#随机因子sharp_image=ImageEnhance.Sharpness(contrast_image).enhance(random_factor)#调整图像清晰度final=np.asarray(sharp_image)returnfinaldefrandomGaussian(img,mean=0.2,sigma=0.5):"""对图像进行高斯噪声处理:paramimage::return:"""defgaussianNoisy(im,mean=0.2,sigma=0.5):"""对图像做高斯噪声处理:paramim:单通道图像:parammean:offset:paramsigma:Standarddeviation:return:"""for_iinrange(len(im)):im[_i]+=random.gauss(mean,sigma)returnimimg.flags.writeable=True#改变数组为读写模式宽度,高度=img.shape[:2]img_r=gaussianNoisy(img[:,:,0].flatten(),mean,sigma)img_g=gaussianNoisy(img[:,:,1].flatten(),mean,sigma)img_b=gaussianNoisy(img[:,:,2].flatten(),mean,sigma)img[:,:,0]=img_r.reshape([width,height])img[:,:,1]=img_g.reshape([width,height])img[:,:,2]=img_b.reshape([width,height])returnimg#平均过滤器defranndom_blur(img,ksize=(3,3)):img_blur=cv2.blur(src=img,ksize=ksize)返回img_blurif__name__=='__main__':pic=cv2.imread('./test.jpg')a=randomColor(pic)cv2.imwrite('randomColor.jpg',a)b=randomGaussian(pic)cv2.imwrite('randomGaussian.jpg',b)c=ranndom_blur(pic)cv2.imwrite('random_blur.jpg',c)
