数字图像处理——广义图像增强

文章目录

  • 数字图像处理——广义图像增强
  • 一、广义图像增强?
  • 二、使用步骤
    • 1.引入库
    • 2.随即改变亮度,对比度,颜色(饱和度),清晰度
    • 3.等比例随机裁剪,随机翻转(镜像),随机旋转
    • 4.随机加高斯噪声
    • 最后测试各种图像数据増广效果

一、广义图像增强?

图像增强:有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。 为增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合。

这里称广义图像增强是除了上述考虑之外,在深度学习中,通过对图像各种处理,增大数据量,达到数据增多,图像增强的目的

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import random
from PIL import Image, ImageEnhance
import cv2
import matplotlib.pyplot as plt
%matplotlib inline

2.随即改变亮度,对比度,颜色(饱和度),清晰度

# 随机改变亮度
def random_brightness(img, lower=0.5, upper=1.5):e = np.random.uniform(lower, upper)return ImageEnhance.Brightness(img).enhance(e)# 随机改变对比度
def random_contrast(img, lower=0.5, upper=1.5):e = np.random.uniform(lower, upper)return ImageEnhance.Contrast(img).enhance(e)# 随机改变颜色(饱和度)
def random_color(img, lower=0.5, upper=1.5):e = np.random.uniform(lower, upper)return ImageEnhance.Color(img).enhance(e)# 随机改变清晰度
def random_sharpness(img, lower=0.5, upper=1.5):e = np.random.uniform(lower, upper)return ImageEnhance.Sharpness(img).enhance(e)

3.等比例随机裁剪,随机翻转(镜像),随机旋转

# 等比例随机裁剪
def random_crop(img, max_ratio=1.5):#if(random.random() > 0.5):#    return imgimg = np.asarray(img)h, w, _ = img.shapem = random.uniform(1, max_ratio)n = random.uniform(1, max_ratio)x1 = w * (1 - 1 / m) / 2y1 = h * (1 - 1 / n) / 2x2 = x1 + w * 1 / my2 = y1 + h * 1 / nimg = Image.fromarray(img)img = img.crop([x1, y1, x2, y2])type = [Image.NEAREST,Image.BILINEAR,Image.BICUBIC,Image.ANTIALIAS]img = img.resize((w, h),type[random.randint(0,3)])return img# 随机翻转
def random_flip(img, thresh=0.5):img = np.asarray(img)if random.random() > thresh:img = img[:, ::-1, :]if random.random() > thresh:img = img[::-1 , :, :]img = Image.fromarray(img)return img# 随机旋转图像
def random_rotate(img, thresh=0.5):# 任意角度旋转angle = np.random.randint(0, 360)img = img.rotate(angle)'''# 0, 90, 270, 360度旋转img = np.asarray(img)if random.random() > thresh:img = img[:, ::-1, :]if random.random() > thresh:img = img[::-1 , :, :]img = Image.fromarray(img)'''return img

4.随机加高斯噪声

def random_noise(img, max_sigma = 10):img = np.asarray(img)sigma = np.random.uniform(0, max_sigma)noise = np.round(np.random.randn(img.shape[0], img.shape[1], 3) * sigma).astype('uint8')img = img + noiseimg[img > 255] = 255img[img < 0] = 0img = Image.fromarray(img)return img

最后测试各种图像数据増广效果

#统一使用各种图像増广方法
def image_augment(img):ops = [random_brightness, random_contrast, random_color, random_sharpness, random_crop, \random_flip, random_rotate, random_noise]np.random.shuffle(ops)img = Image.fromarray(img)img = ops[0](img)img = ops[1](img)img = ops[2](img)img = ops[3](img)img = ops[4](img)img = ops[5](img)img = ops[6](img)img = ops[7](img)img = np.asarray(img)return img#逐一测试各种图像数据増广效果
ops = [random_brightness, random_contrast, random_color, random_sharpness, random_crop, \random_flip, random_rotate, random_noise]
ops_title = ['random_brightness', 'random_contrast', 'random_color', 'random_sharpness', 'random_crop', \'random_flip', 'random_rotate', 'random_noise']
plt.figure(figsize=(20,25),dpi=80)
for i in range(len(ops)):img = cv2.imread("work/雨水.jpg")img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)demo_num = 4#print(i + 1, 1, i * (demo_num + 1) + 1)plt.subplot(len(ops), demo_num + 1, i * (demo_num + 1) + 1)plt.imshow(img)plt.title('original')plt.xticks([])plt.yticks([])for j in range(demo_num):#print(i + 1, j + 2, i * (demo_num + 1) + j + 2)plt.subplot(len(ops), demo_num + 1, i * (demo_num + 1) + j + 2)img = Image.fromarray(img)img = ops[i](img)img = np.asarray(img)plt.imshow(img)plt.title(ops_title[i])plt.xticks([])plt.yticks([])

数字图像处理——广义图像增强相关推荐

  1. 冈萨雷斯数字图像处理——彩色图像增强3实例

    冈萨雷斯数字图像处理--彩色图像增强3实例 实例一:基于直方图均衡化的彩色图像增强     要处理的图片:fruit.jpg               example1.m: clc; RGB=im ...

  2. 数字图像处理--3.图像增强

    一.图像增强的点运算 图像增强:采用一系列技术,改善图像的视觉效果,或者将图像转换成一种更适合于人或者机器进行分析和处理的形式. 图像增强方法:1.空间域增强:直接对图像各像素进行处理:2.对图像进行 ...

  3. 数字图像处理之图像增强

    1.图像增强基本概念 图像 增强是通过某种技术有选择地突出对某一具体应用有用的信息,削弱或抑制一些无用的信息.图象增强按增强处理所在空间不同分为空域增强方法和频域增强方法. 空域增强 : 直接在图像所 ...

  4. 数字图像处理(图像增强)——拉普拉斯算子

    二阶微分 与微积分中定义的微分略有不同,数字图像中处理的是离散的值,因此对于一维函数的一阶微分的基本定义是差值: ∂f∂x=f(x+1)−f(x)\frac{\partial f}{\partial ...

  5. MatLab 数字图像处理实验 图像增强

    实验内容 (1)对曝光不足的图像采用灰度线性变换对图像每一个像素灰度做线性拉伸. close all clear all I = im2double(imread('D:\figure51.jpg') ...

  6. 数字图像处理系列(二)---空间域图像增强-点运算

    chapter2 空间域图像增强(点增强) 1.图像增强的基本概念 在不考虑图像降质的情况下,通过经验和试探的方法,把图像感兴趣的部分进行选择性突出,而把不在意的部分进行压制,从而得到我们想要的信息. ...

  7. 数字图像处理知识点总结(中)图像增强复习

    数字图像处理 中 图像增强 空域处理 变换增强 几何变换 缩放变换 剪切变换 旋转变换 平移变换 镜像变换 投影变换 几何变换的反变换 复合变换 几何失真校正 算术运算 加 减 乘 除 逻辑运算 与 ...

  8. 数字图像处理-图像基础-复习总结

    文章目录 数字图像处理复习总结 数字图像基础 数字图像基础概念 采样和量化 非均匀采样与量化 数字图像常见失真类型 数字图像处理基础 数字图像处理基本概念 数字图像处理研究内容 数字图像处理关键阶段 ...

  9. 数字图像处理python实现-形态学处理

    内容简介 腐蚀膨胀 开闭运算 轮廓提取 击中与击不中 骨架提取 细化骨架提取 细化 裁剪 距离变换骨架提取 Hilditch算法骨架提取 首先明确一点形态学操作都是针对与二值图像,在灰度图像的形态学处 ...

  10. 数字图像处理——第三章 空间域图像增强(空间滤波)

    文章目录 1. 空间滤波基础 2. 线性滤波器 2.1 平滑空间滤波器 2.2 锐化空间滤波器 2.2.1 基于一阶微分的图像增强--梯度法 2.2.2 基于二阶微分的图像增强--拉普拉斯算子 3. ...

最新文章

  1. 转载,大佬关于虚拟内存与物理内存关系讲解。
  2. MySQL数据库初识(基础语句)
  3. 知识产权创业的比赛结果
  4. 利用Docker/Ansible实现轻量集群服务部署(视频演示+彩蛋)
  5. c++ createtoolhelp32snapshot取进程路径_Linux进程间通信(上)之管道、消息队列实践
  6. Jsoup(三)-- Jsoup使用选择器语法查找DOM元素
  7. 互联网日报 | 3月12日 星期五 | 京东全年净增1.1亿活跃用户;百度计划3月23日登陆港交所;中国联通首次公布5G用户数...
  8. crout分解计算例题_矩阵与数值计算(2)——矩阵三角分解LU、PALU、Cholesky三角分解、QR分解...
  9. 8款最受欢迎的HTML5/CSS3应用及源码
  10. C++ Web编程实战
  11. python 常用快捷键
  12. bash 运行可执行文件hello 报错 No such file or directory
  13. echo和narcissus寓意_希腊神话故事(一)Echo 和 Narcissus
  14. 【实战讲解】使用 Linux alias 为命令设置别名,设置永久别名
  15. 【mybatis】mybatis的工作原理
  16. 【服务器数据恢复】服务器卷被误删除的raid5数据恢复案例
  17. requires the ionCube PHP Loader
  18. 安卓平板装MySQL_准备购入一部平板作为学习用具,有推荐的吗?
  19. java获取前五分钟时间_使用日期操作类(Calendar)获得几秒、几分钟、几小时之前的时间...
  20. 计算机毕业设计SSM城市道路智能停车管理系统【附源码数据库】

热门文章

  1. 连接到此计算机的本地打印机无法选择,Win7系统连接打印机出现本地打印后台处理程序服务没有运行怎么办...
  2. win10 加快开机速度
  3. 计算机Excel运行环境,Excel2007免费完整版 最新电脑版
  4. win10开机字体变大bug
  5. 嵌入式编程经典书籍推荐
  6. hosts文件在哪里,怎样配置修改hosts文件
  7. 雅虎邮箱为什么停止服务_雅虎的发展项目将变成什么样?
  8. homeassistant搭建_智能家居 篇二:Home Assistant简易智能家居环境搭建
  9. 小程序 学习。。。[个人感觉吧 官方文档写的相当详细了。。]
  10. 全桥逆变电路MOS管的关断尖峰怎么解决