【python图像处理】图像灰度化处理、图像灰度线性变换、图像灰度非线性变换
- 一、图像灰度化处理
- 1、最大值灰度处理方法
- 2、平均灰度处理方法
- 3、加权平均灰度处理方法
- 二、图像灰度线性变换
- 1、图像灰度上移变换
- 2、图像对比度增强变换
- 3、图像对比度减弱变换
- 4、图像灰度反色变换
- 三、图像灰度非线性变换
- 1、图像灰度非线性变换:
- 2、对数变换
- 3、伽玛变换
一、图像灰度化处理
1、最大值灰度处理方法
该方法的灰度值等于彩色图像R、G、B三个分量中的最大值
for i in range(height):for j in range(width):#获取图像R G B最大值gray = max(img[i,j][0], img[i,j][1], img[i,j][2])#灰度图像素赋值 gray=max(R,G,B)grayimg[i,j] = np.uint8(gray)
2、平均灰度处理方法
for i in range(height):for j in range(width):#灰度值为RGB三个分量的平均值gray = (int(img[i,j][0]) + int(img[i,j][1]) + int(img[i,j][2])) / 3grayimg[i,j] = np.uint8(gray)
3、加权平均灰度处理方法
for i in range(height):for j in range(width):#灰度加权平均法gray = 0.30 * img[i,j][0] + 0.59 * img[i,j][1] + 0.11 * img[i,j][2]grayimg[i,j] = np.uint8(gray)
二、图像灰度线性变换
图像的灰度线性变换是通过建立灰度映射来调整原始图像的灰度,从而改善图像的质量,凸显图像的细节,提高图像的对比度。
该公式中DB表示灰度线性变换后的灰度值,DA表示变换前输入图像的灰度值,α和b为线性变换方程f(D)的参数,分别表示斜率和截距。
当α=1,b=0时,保持原始图像
当α=1,b!=0时,图像所有的灰度值上移或下移
当α=-1,b=255时,原始图像的灰度值反转
当α>1时,输出图像的对比度增强
当0<α<1时,输出图像的对比度减小
当α<0时,原始图像暗区域变亮,亮区域变暗,图像求补
1、图像灰度上移变换
for i in range(height):for j in range(width):if (int(grayImage[i,j]+50) > 255):gray = 255else:gray = int(grayImage[i,j]+50)result[i,j] = np.uint8(gray)
图像的所有灰度值上移50,图像变得更白了。注意,纯黑色对应的灰度值为0,纯白色对应的灰度值为255。
2、图像对比度增强变换
for i in range(height):for j in range(width):if (int(grayImage[i,j]*1.5) > 255):gray = 255else:gray = int(grayImage[i,j]*1.5)result[i,j] = np.uint8(gray)
图像的所有灰度值增强1.5倍。
3、图像对比度减弱变换
for i in range(height):for j in range(width):gray = int(grayImage[i,j]*0.8)result[i,j] = np.uint8(gray)
图像的所有灰度值减弱,图像变得更暗。
4、图像灰度反色变换
for i in range(height):for j in range(width):gray = 255 - grayImage[i,j]result[i,j] = np.uint8(gray)
图像处理前后的灰度值是互补的。
三、图像灰度非线性变换
1、图像灰度非线性变换:
DB=DA×DA/255
for i in range(height):for j in range(width):gray = int(grayImage[i,j])*int(grayImage[i,j]) / 255result[i,j] = np.uint8(gray)
2、对数变换
其中c为尺度比较常数,DA为原始图像灰度值,DB为变换后的目标灰度值。
def log(c, img):output = c * np.log(1.0 + img)output = np.uint8(output + 0.5)return output
对数变换对于整体对比度偏低并且灰度值偏低的图像增强效果较好。
3、伽玛变换
当γ>1时,会拉伸图像中灰度级较高的区域,压缩灰度级较低的部分。
当γ<1时,会拉伸图像中灰度级较低的区域,压缩灰度级较高的部分。
当γ=1时,该灰度变换是线性的,此时通过线性方式改变原图像。
【python图像处理】图像灰度化处理、图像灰度线性变换、图像灰度非线性变换相关推荐
- python——图像处理3(均值偏移、改变亮度、图像修复、图像融合)
https://blog.csdn.net/gm_ergou/article/details/92846396 1.均值偏移(磨皮效果) import cv2 as cv import numpy a ...
- [Python图像处理] 十六.图像的灰度非线性变换之对数变换、伽马变换
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- [Python图像处理] 十五.图像的灰度线性变换
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换
[Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...
- python 视频 灰度 伽玛_Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换...
作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...
- Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换
作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...
- 图像灰度化的三种方法(matlab、C++、Python实现)
灰度化处理就是将一幅色彩图像转化为灰度图像的过程.彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程.灰度值大的像素点比较亮(像素值最大为255,为 ...
- OpenCV图像处理(18)——文件夹下所有图像转灰度(14-15综合)
对文件夹下所有图像做灰度转换,并做garma校正,产生不同的灰度亮度范围,方案用(13-14) #pragma once #include<stdio.h> #include<ope ...
- HLS——图像灰度化和二值化处理示例
图像灰度化和二值化在图像识别里面经常使用,这里以HLS实现整个过程 一.实现功能: 读取一张bmp图片,输出一张灰度化bmp图片和二值化后的黑白图片 二.需要用到的接口 1.读写图片工具函数bmp_t ...
- Python 利用4行代码实现图片灰度化
背景 不论是在进行深度学习时的图片处理,还是在商业用途出版书刊,基本都会用到对图片进行灰度转换,也就是灰度化,本文章利用简单的4行代码来快速实现图片灰度化,仅供参考 效果 实现代码 from PIL ...
最新文章
- python基础——继承与派生、组合
- Linux简单的颜色设置
- Oracle获取LOB长度的两种方法效率对比
- js对象转换为json格式的jquery辅助类
- 数据库系统概念总结:第八章 关系数据库设计
- [蓝桥杯2019初赛]最大降雨量-模拟
- Java ByteArrayInputStream markSupported()方法与示例
- 无语!Docker桌面不再对企业用户免费
- 洛谷 P4300 BZOJ 1266 [AHOI2006]上学路线route
- python regex应用
- Learning to rank 特征抽取
- Windows 远程连接后,自动断开,所有程序都自动关闭(待验证,待更新)
- 【转】Netty那点事(一)概述
- ORL 人脸库 BP神经网络人脸识别
- 武汉理工大学-随机过程-2020年期末复习提纲
- 无线 WIFI 的13个信道频率范围
- Namecheap无法登录
- 无法定位元素问题:使用phantomjs来进行模拟人的计算机行为的时候可能的报错(么牢牢啊)以及自己的问题解决
- Openssl 编译
- 分段概率密度矩估计_2017年考研《数学一》大纲
热门文章
- 分享几个精美的个人简历模板,非常不错的简历,docx格式的可直接修改。
- 山师计算机组成原理期末,山师—2010级计算机组成原理期末试卷(B)历山
- 中兴F607Za设备TTL接线图等资料分享
- 三角Puzzle受力分析
- Hadoop集群安装及其配置(三台虚拟机)
- 1024 程序员节首批 37 位嘉宾阵容公布!院士、技术掌门人、行业精英齐亮相
- 人人都能懂的量子力学
- WinRAR ActivateRemoveAdvertisement
- RK3399 Ubuntu 开启WiFi热点
- c语言notify方法,【红烧小鲫鱼】关于在纯C语言中的Shell_NotifyIcon应用