灰度变换 - 伽马变换
目录
1. 介绍
2. 代码实现
3. 提升视频的亮度
1. 介绍
伽马变换主要目的是对比度拉伸,将图像灰度较低的部分进行修正
伽马变换针对的是对单个像素点的变换,也就是点对点的映射
形式为:
其中,s为输出的像素点的灰度值,r为输入像素点的灰度值。c 、 γ 为常数
γ 值不同的时候,对应的变换曲线如图,这里我们不关注具体函数的取值,而只是关注变换曲线的形状
通过观察可以发现
- γ > 1 的时候,会压缩暗区的对比度,抬高亮区的对比度。并且γ越大,效果越明显
- γ < 1 的时候,会提升暗区的对比度,压缩亮区的对比度。并且γ越小,效果越明显
- γ = 1 的时候,图像的灰度不变(c 也为1)
2. 代码实现
import cv2
import numpy as npdef grammar(x, r):y = pow(x / 255 , r) * 255return y.astype(np.uint8)img = cv2.imread('./f.jpg',0)
img_grammar = grammar(img,0.6)
cv2.imshow('img',np.hstack((img,img_grammar)))
cv2.waitKey()
cv2.destroyAllWindows()
原图和 γ = 0.6 的效果
这里需要进行归一化处理,因为整数的小数次方可能会丢失精度,我们将灰度值变为(0,1)之间,转换成小数与小数的次方会更加准确。
3. 提升视频的亮度
import numpy as np
import cv2def grammar(x , r): # grammar 变换y = pow(x / 255 , r) * 255return y.astype(np.uint8)video = cv2.VideoCapture('./hand.mp4') # 读取视频
while video.isOpened(): # 如果视频/摄像头 读取成功ret,frame = video.read() # 读取每一帧img = grammar(frame,0.6) # 将每一帧进行进行grammar变换if ret == True : # 读取到frame的话cv2.imshow('img',np.hstack((frame,img)))key=cv2.waitKey(1)if key == ord('q'): # q 退出breakif key == 32: # 空格键 暂停cv2.waitKey(0)continuevideo.release()
cv2.destroyAllWindows()
视频效果:
灰度变换 - 伽马变换相关推荐
- 图像的常用灰度变换——负片、伽马变换、对数变换、直方图均衡化、自适应灰度变换及其MATLAB实现
灰度变换是图像预处理的重要手段,常见的变换方法如下,图文并茂和大家一起学习: %% 尝试灰度变换--伽马变换和对数变换.直方图均衡化clc,clear,close allf = imread('C:\ ...
- 【OpenCV 例程200篇】44. 图像的灰度变换(伽马变换)
[OpenCV 例程200篇]44. 图像的灰度变换(伽马变换) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 线性 ...
- 数字图像处理(18): 图像灰度变换——线性灰度变换 和 非线性灰度变换(对数变换 与 伽马变换)
目录 1 灰度变换简介 2 线性灰度变换-图像反转 3 非线性灰度变换 3.1 对数变换 3.2 伽马变换 参考资料 1 灰度变换简介 灰度变换是图像增强的一种重要手段,用于改善图像显示效果,属于空 ...
- 数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换、对数变换、伽马变换和分段线性变换)
数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换.对数变换.伽马变换和分段线性变换) 空间域处理是直接对像素进行操作的方法,这是相对于频率域处理而言的.空间域处理主要分为两大类:灰度变换 ...
- [数字图像处理]灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割
灰度变换,属于一个非常重要的概念.这里主要参考<Digital Image Processing> Rafael C. Gonzalez / Richard E. Woods 的第三章.书 ...
- 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波3 -幂律变换、伽马变换
目录 幂律(伽马)变换 幂律(伽马)变换 s=crγ(3.5)s = c r^{\gamma} \tag{3.5}s=crγ(3.5) c和γc和\gammac和γ是正常数.考虑到偏移(即输入为0时的 ...
- python 视频 灰度 伽玛_Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换...
作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...
- opencv 伽马变换
1.算法原理 伽马变换一种灰度变换,属于简单图像增强,也称幂律变换 先介绍两个函数 1.normalize 归一化 normalize(imageGamma, imageGamma, 0, 255, ...
- 图像算法一:【图像点运算】灰度直方图、伽马变换、灰度阈值变换、分段线性变换、直方图均衡化
灰度直方图:imhist() %描述了图像灰度统计信息,主要应用于图像分割和图像灰度变换.>>Img=imread( ' xxx.jpg' ); %读图>>I=imhist(I ...
最新文章
- SpringBoot配置属性之Server
- 如何高效的利用博客园?
- node.js require 自动执行脚本 并生成html,从HTML页面执行Nodejs脚本?
- 汇编语言重写除零中断
- a标签download属性无效_使用这些 CSS 属性选择器来提高前端开发效率
- HDU1163 Eddy's digital Roots(解法二)【快速模幂+九余数定理】(废除!!!)
- java系统参数表有哪些_Java 设置系统参数和运行参数
- .NET中利用XML来自动生成代码策略
- CSDN页面不登录直接复制代码的方法
- JS字符串转为数值方法详解
- 保定华电计算机考研真题,华北电力大学(保定)离散数学试题(含2005年真题)...
- Python 珍藏函数超详解:随机抽样,分层抽样,系统抽样方法汇总
- 采集新闻数据的10个经典方法
- java生成密码生成
- 华为鸿蒙家电物联网,华为“鸿蒙”来了:本身是为了做物联网,将比安卓速度快60%...
- 京东快递开接外单偏平台商户
- 面向对象程序设计c 语言,C 语言如何实现面向对象编程
- 魔众企业VI系统-帮您快速创建现代化的企业形象
- 自动化控制行业常见面试问题分析
- 【物联网树莓派毕设04】Arduino实现电梯及人脸识别门禁
热门文章
- 推荐你几个可以在手机上学习编程的软件
- UML项目练习-仓库管理系统
- 通证经济是更高层次的自由
- 回溯 | 19 332.重新安排行程(hard)**
- 用matlab编写逢七必过游戏规则,数字图像处理及应用(MATLAB)第4章
- docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]
- Python入门必备的书籍推荐
- Xiaojie雷达之路---拉伸信号处理
- js基础知识05习题课(这就是八股文吗?i了i了)
- GEO学习笔记-P3 表达矩阵过滤