图像处理与图像识别笔记(三)图像增强1

图像增强的目的是为了改善图像的视觉效果,为了更便于人或机器的分析和处理,在不考虑图像降质(前提)的情况下,提高图像的可观性。灰度变换是一种典型的图像增强方法,我们通常把图像处理按照处理方法分成空域方法频域方法两类,灰度变换是一种对点处理的空域处理方法。

一、灰度变换

将一个灰度区间映射到另一个灰度区间的变换称为灰度变换,g(x,y)=T[f(x,y)]g(x,y) = T[f(x,y)]g(x,y)=T[f(x,y)],灰度区间是指0−2550-2550255的灰度值区间,000是黑色,255255255是白色。灰色变换可使图像动态范围加大,图像对比度扩展,图像清晰,特征明显。灰度变换可以分为线性变换和非线性变换。
1、线性变换
原始图像:f(x,y)f(x,y)f(x,y),灰度范围:[a,b][a,b][a,b],变换后的图像:g(x,y)g(x,y)g(x,y),灰度范围:[c,d][c,d][c,d],存在以下变换关系:

g(x,y)=d−cb−a[f(x,y)−a]+cg(x,y) =\frac{d-c}{b-a}[f(x,y)-a]+cg(x,y)=badc[f(x,y)a]+c

2、非线性变换
灰度变换的非线性变换方法包括对数变换和指数变换,对数变换公式为g(x,y)=a+ln⁡[f(x,y)+1]bln⁡cg(x,y) = a+\frac{\ln[f(x,y)+1]}{b\ln c}g(x,y)=a+blncln[f(x,y)+1],这个变换扩展低灰度区的对比度,压缩高灰度值。指数变换公式为g(x,y)=bc[f(x,y)−a]−1g(x,y)=b^{c[f(x,y)-a]}-1g(x,y)=bc[f(x,y)a]1,与对数变换相反, 指数变换对图像的高灰度区有较大的扩展。

线性灰度变换实例如下,

import cv2
import numpy as np
import matplotlib.pyplot as plt 
import pylabdef grayTransformLine(img,c,d):#线性灰度变换img = img/255.0	#转换为0-1Min = img.min()Max = img.max()return (d-c)/(Max-Min)*(img-Min)+cdef main():img = cv2.imread('Lena.jpg',0)new_img = grayTransformLine(img,0.5,1)#变换到0.5-1,整体变亮new_img2 = grayTransformLine(img,0,0.5)#变换到0-0.5,整体变灰暗cv2.imshow('bright',new_img)	cv2.imshow('dark',new_img2)cv2.waitKey(0)if __name__ == "__main__":main()

输出结果如下,

     

3、灰度直方图
图像中像素灰度分布的概率密度函数,设图像尺寸为M×NM×NM×N,共有KKK级灰度,并且具有灰度级rkr_krk的像素数为g(rk)g(r_k)g(rk),则有:p(rk)=g(rk)M×Np(r_k)=\frac{g(r_k)}{M×N}p(rk)=M×Ng(rk),下面我们来计算图像的灰度直方图。

import cv2
import numpy as np
import matplotlib.pyplot as plt 
import pylabimg = cv2.imread('Lena.jpg',0)
#images:输入图像,channels:图像的通道,mask:掩膜图像,若计算整幅图则为none,histSize:灰度级的个数
#ranges:像素值的范围
hist_cv = cv2.calcHist(images=[img],channels=[0],mask=None,histSize=[256],ranges=[0,255])
plt.plot(hist_cv)
pylab.show()

上述两幅图的灰度直方图如下所示,

明显看出,第一幅图的灰度分布集中在高值部分,因此整幅图高亮,第二幅图的灰度分布集中在低值部分,整幅图呈灰暗。

4、直方图均衡化
将原始图像的直方图变换为均匀分布的形式,从而增加像素灰度值的动态范围,达到增强图像整体对比度的效果。直方图均衡是一种非线性变换,以牺牲图像的等级为代价
实现代码如下,

import cv2
import matplotlib.pyplot as plt 
import pylabimg = cv2.imread('Lena.jpg',0)
res = cv2.equalizeHist(img)	#均衡化
plt.subplot(121),plt.imshow(img,'gray')
plt.subplot(122),plt.imshow(res,'gray')
pylab.show()

均衡化的结果如下,

我们可以看到,均衡化后的图像灰度分布更加均匀,图像对比度明显增强。
上述的均衡化方法是全局上的均衡,有些时候这种操作并不好,会把某些不该调整的部分给调整。Opencv提供另一种局部调整的均衡化,把整个图像分成许多小块,每个小块内部进行均衡化,这种方法叫做对比度受限的自适应直方图均衡化,对于图像直方图存在多峰的图像比较适用,实现代码如下,

import cv2
import matplotlib.pyplot as plt 
import pylabimg = cv2.imread('Lena.jpg',0)
#全局直方图均衡化
res = cv2.equalizeHist(img)
#自适应直方图均衡化
clahe = cv2.createCLAHE(clipLimit=2,tileGridSize=(10,10))#
cl1 = clahe.apply(img)
plt.subplot(121),plt.imshow(res,'gray')
plt.subplot(122),plt.imshow(cl1,'gray')
pylab.show()

两种均衡化的结果如下,

我们可以看出,相对于全局均衡化的结果,局部均衡化的效果更加自然一些。

二、同态增晰

我们之前讲到过傅里叶变换,经过傅里叶变换可以得到一幅图像的频域信息,我们可以对图像的频域进行操作达到滤波的目的。频域中的低频成分反映灰度的恒定分量,减弱低频成分可以起到缩小图像灰度范围的作用;频域中的高频成分反映图像的边界特性,增强高频成分可以提升图像的对比度(暗区细节增强并保留亮区细节)。
同态增晰是一种在频域中进行滤波操作的方法,目的是消除图像上照明不均的问题,增加暗区的图像细节,同时又不损失亮区的图像细节,它在频域中同时将图像亮度范围进行压缩和图像对比度进行增强。
同态滤波函数选用高通滤波器,消弱低频成分,加强高频成分。

同态增晰的过程如下,

未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像处理与图像识别笔记(五)图像增强2

上一节中我们讲解了灰度变换的原理以及实现方法,本节我们讲解空域滤波增强,与灰度变换相同,空域滤波增强是一种空域处理的方法,不过空域滤波不是一种对点做处理的方法,而是利用相邻像素间的关系进行增强。空域滤波可以…

欧洲两个研究团队开发出了让截肢者能感觉到并准确抓住物体的仿生手

来源:IEEE电气电子工程师学会摘要:在过去十年中,研究人员在开发能给用户提供触觉和压力感的触觉传感器方面取得了很大进展。如在你旁边正好有一个咖啡杯,那么拿起这个杯子,并注意下在不真正看着它的情况下做这件事有多…

【转】eclipse中egit插件使用

原文网址:http://my.oschina.net/songxinqiang/blog/192567 eclipse和git这个两个工具的使用人数都是相当多的,在eclipse里面也有egit插件来支持eclipse中使用git,但是网上的相关说明都是简单使用,或者没有说明白一些具体的问题&a…

全球AI芯片投资版图公开!机会都在这五大场景

来源:智东西摘要:过去一年,随着人工智能在各个行业的逐步落地,AI芯片的发展路径逐渐明朗。在行业走过野蛮生长,开始加速落地、加速整合的过程中,也有更多的AI芯片公司也开始走出属于自己的差异化路线。我们…

图像处理与图像识别笔记(六)图像增强3

上一章节中我们讲解了空域滤波的图像增强方法,包括图像的平滑和锐化,本文中,我们首先带来频域滤波的图像增强方法,指在频域中对图像进行变换,需要的基础知识是前述过的图像傅里叶变换,请查看学习。 一、频…

初探数位DP-hdu2089

一开始刷dp就遇到了数位dp,以前程序设计艺术上看过一点,基本没懂,于是趁今天遇到题目,想把它搞会,但就目前状态来看仍然是似懂非懂啊,以后还要反复搞 统计区间[l,r]的满足题意的数的个数,可以转…

自动驾驶的疑点重重, 再次印证了科技的「非理性繁荣」

来源:悟空智能科技特斯拉 CEO 马斯克对全自动驾驶的短期实现,有着近乎疯狂的执念。最近,他又在第四季度财报的电话会议上表示,特斯拉汽车在今年年底前能实现全自动驾驶,无需人类干预。马斯克还表示,特斯拉在…

Truncated SVD for faster dection

Truncated SVD方法最先被提出在《Fast R-CNN》论文中,用于降低全连接层的运算量,提升模型的速度。在卷积神经网络的分类任务中,FC层的运算速度远远大于CONV层,而在Fast R-CNN的目标检测任务中,大多数的运算时间发生在F…

CSS学习-网页导航栏

用ul制作网页导航栏 <!DOCTYPE html> <html><head><style>ul {list-style-type: none;margin: 0;padding: 0;width: 800px;overflow: hidden;}li {float: left;}a {display: block;width: 120px;font-weight: bold;color: #FFFFFF;border-right: 1px s…

自动驾驶技术如何升级?这份技能图谱为你指路

来源&#xff1a;AI前线自动驾驶技术在过去的一年里发展十分迅速&#xff0c;无论控制系统的升级还是高清地图的泛用&#xff0c;无不在推动自动驾驶的落地。再加上开源框架的进一步成熟&#xff0c;V2X 的落地实践&#xff0c;传感器融合更强等多重因素的影响下&#xff0c;自…

Gradient Descent

梯度下降是我们在训练神经网络时用于训练参数的方法&#xff0c;本文总结了目前常用的几种梯度下降算法&#xff0c;包括原理、公式推导、解决的问题&#xff0c;主要要SGD、Momentum、NAG、AdaGrad、AdaDelta、RMSProp、Adam&#xff0c;先贴上手写的笔记&#xff0c;有时间再…

互联网+检验检测智能化成发展趋势

来源&#xff1a;传感器技术摘要&#xff1a;随着工业自动化技术的迅猛发展&#xff0c;智能检测技术被广泛地应用在工业自动化、化工、军事、航天、通讯、医疗、电子等行业&#xff0c;是自动化科学技术的一个格外重要的分支科学。众所周知&#xff0c;智能检测技术是在仪器仪…

5G、物联网和AI结合的究极形态是什么?一文看尽智能连接在5大领域的12个典型案例!...

来源&#xff1a;IoT Analytics编译&#xff1a;物联网智库摘要&#xff1a;智能连接&#xff08;Intelligent connectivity&#xff09;是一种全新的概念——未来&#xff0c;5G、AI和物联网的融合能够成为加速科技发展的催化剂&#xff0c;并催生出新的颠覆式的数字化服务。基…

10天学安卓-第二天

10天学安卓-第二天 原文:10天学安卓-第二天继续我们的学习。 相信我&#xff0c;第一天的工作是最为重要的&#xff0c;通过这些工作&#xff0c;我们把开发安卓所必须的环境、基础条件都配置好了&#xff0c;相信肯定遇到了很多问题&#xff0c;不过&#xff0c;根据我的经验&…

德国费斯托又双叒叕更新,象鼻子机械臂+超逼真仿生手,比人手都强大

来源&#xff1a;机器人大讲堂编辑&#xff1a;海蛟摘要&#xff1a;在机器人领域&#xff0c;小编最佩服两家公司&#xff0c;一家是波士顿动力&#xff0c;另一家就是费斯托。费斯托这家源自德国的公司以平均每年更新2-3款仿生机器人的速度&#xff0c;扩充着它们的仿生机器人…

微软全球执行副总裁沈向洋:你给自己的定位是什么,你就会得到什么

来源&#xff1a;AI 科技评论摘要&#xff1a;沈向洋&#xff0c;美国国家工程院院士、微软全球执行副总裁、ACM/IEEE Fellow。多年来&#xff0c;沈向洋专注于计算机视觉和计算机图形学的研究&#xff0c;并领导和开发了 Bing 搜索。目前&#xff0c;他是微软公司级别最高的中…

用互联网大脑模型分析5G重点影响的6个科技产业

作者&#xff1a;刘锋 计算机博士&#xff0c;《互联网进化论》作者5G是指第五代移动电话行动近信标准&#xff0c;也称第五代移动通信技术&#xff0c;是4G之后的延伸&#xff0c;其峰值理论传输速度可达每秒数十Gb。对比4G的主要提高如下&#xff1a;5G的速度将达到4G的100倍…

Gartner:2019年十大数据与分析技术趋势

来源&#xff1a;网络大数据近日&#xff0c;全球领先的信息技术研究和顾问公司Gartner指出&#xff0c;增强型分析(augmented analytics)、持续型智能(continuous intelligence)与可解释型人工智能(explainable AI)是数据与分析(data and analytics)技术领域内的主要趋势之一&…

Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步

目录 1, 环境2, Redis简介3, Gearman简介4, MySQL - Redis配合使用方案4, 软件安装5, MySQL UDF Trigger同步数据到Gearman6, 参考资料1, 环境 CentOS, MySQL, Redis, Nodejs 2, Redis简介 Redis是一个开源的K-V内存数据库&#xff0c;它的key可以是string/set/hash/list/...&…

5G风起,四大IoT迎风爆发!智能家居与电表高速增长

来源&#xff1a;智东西摘要&#xff1a;深度剖析智能家居、智能城市、车联网、网联无人机四大领域新机遇。2018年&#xff0c;我国物联网&#xff08;IoT&#xff09;连接数从2017年的15.4亿飙升至30.63亿&#xff0c;几近增长了100%&#xff0c;增速喜人。而在这组数据背后&a…