幂律变换的基本形式为:,其中是常数

有时考虑到偏移量,上式也写为。然而,偏移量是一般显示标定问题,因而作为一个结果,通常在上式中忽略不计。

与对数变换情况类似,部分值得幂律曲线将较窄范围的暗色值,映射位较宽的目标输出值,相反,对于输入高灰度级值时也成立。

>1的值所生成的曲线和<1所生成的曲线的效果完全相反,当c==1时简化为了恒等变换。

下面使用Python实现幂律变换:

使用的图片数据为:

导入要使用的第三方库:

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

读取图片数据,并可视化:

img = Image.open('小亮点.jpg')
plt.axis('off')
plt.imshow(img)
plt.show()

图像数据转换为numpy数组:

img_data = np.array(img)

定义幂律变换函数:

def power_law_rollovers(img, func, c, b):img_data = np.array(img)a = np.shape(img_data)new_img = []for i in range(a[0]):new_row = []for j in range(a[1]):data = list(img_data[i][j])new_data = func(data, c, b)new_row.append(np.array(new_data))new_img.append(np.array(new_row))return new_img
def power_law(data, c, b):new_data = []for k in data:a = int(c*(k**b))new_data.append(a)return new_data

结果:

共生成4张图片,参数c=1,参数分别等于0.8,0.6,0.4,0.3

new_img1 = power_law_rollovers(img, power_law, 1, 0.8)
new_img2 = power_law_rollovers(img, power_law, 1, 0.6)
new_img3 = power_law_rollovers(img, power_law, 1, 0.4)
new_img4 = power_law_rollovers(img, power_law, 1, 0.3)new_img1 = np.array(new_img1)
new_img2 = np.array(new_img2)
new_img3 = np.array(new_img3)
new_img4 = np.array(new_img4)new_img1 = Image.fromarray(new_img1.astype('uint8')).convert('RGB')
new_img2 = Image.fromarray(new_img2.astype('uint8')).convert('RGB')
new_img3 = Image.fromarray(new_img3.astype('uint8')).convert('RGB')
new_img4 = Image.fromarray(new_img4.astype('uint8')).convert('RGB')plt.figure(figsize=(25,60))
plt.subplot(221)
plt.axis('off')
gray1 = new_img1.convert('L')
plt.imshow(gray1, cmap='gray')
plt.subplot(222)
plt.axis('off')
gray2 = new_img2.convert('L')
plt.imshow(gray2, cmap='gray')
plt.subplot(223)
plt.axis('off')
gray3 = new_img3.convert('L')
plt.imshow(gray3, cmap='gray')
plt.subplot(224)
plt.axis('off')
gray4 = new_img4.convert('L')
plt.imshow(gray4, cmap='gray')
plt.show()

 

基本的灰度变换函数——幂律(伽马)变换相关推荐

  1. 数字图像处理-python基于opencv代码实现 反转变换、对数变换和幂律(伽马)变换

    本文主要介绍对<数字图像处理>第三章书中示例图片实现 反转变换.对数变换以及伽马变换的代码 若要获取更多数字图像处理,python,深度学习,机器学习,计算机视觉等高清PDF以及 更多有意 ...

  2. 图像的常用灰度变换——负片、伽马变换、对数变换、直方图均衡化、自适应灰度变换及其MATLAB实现

    灰度变换是图像预处理的重要手段,常见的变换方法如下,图文并茂和大家一起学习: %% 尝试灰度变换--伽马变换和对数变换.直方图均衡化clc,clear,close allf = imread('C:\ ...

  3. 数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换、对数变换、伽马变换和分段线性变换)

    数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换.对数变换.伽马变换和分段线性变换) 空间域处理是直接对像素进行操作的方法,这是相对于频率域处理而言的.空间域处理主要分为两大类:灰度变换 ...

  4. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波3 -幂律变换、伽马变换

    目录 幂律(伽马)变换 幂律(伽马)变换 s=crγ(3.5)s = c r^{\gamma} \tag{3.5}s=crγ(3.5) c和γc和\gammac和γ是正常数.考虑到偏移(即输入为0时的 ...

  5. python 视频 灰度 伽玛_Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换...

    作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...

  6. Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换

    作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...

  7. OpenCV计算机视觉学习(3)——图像灰度线性变换与非线性变换(对数变换,伽马变换)

    人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力.FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台.每周免费提供 ...

  8. 图像算法一:【图像点运算】灰度直方图、伽马变换、灰度阈值变换、分段线性变换、直方图均衡化

    灰度直方图:imhist() %描述了图像灰度统计信息,主要应用于图像分割和图像灰度变换.>>Img=imread( ' xxx.jpg' ); %读图>>I=imhist(I ...

  9. matlab怎么对图片实行伽马变换,matlab灰阶变换函数imadjust和stretchlim的c++实现

    灰阶变换 首先介绍一下灰阶变换,一幅图像数据本身在存储的数据结构上为一个二维的矩阵,即一幅图像为m*n个密密麻麻的像素点构成. image.png 然后,这些像素点有着一个值,这个值成为灰度值或者亮度 ...

最新文章

  1. 团队项目第二阶段冲刺站立会议01
  2. ViewPager刷新问题详解
  3. 用ftp、http搭建网络yum源
  4. Netty工作笔记0054---EventLoop组件
  5. fullcalendar 上下月翻动事件_用期权做事件套利的黄金法则
  6. HTTPRunner学习笔记
  7. 关于 Safari 浏览器不支持 location [ window.location.href window.open()] 跳转问题的解决方案
  8. 向数据源DataTable 中添加新的一列,并向其赋值
  9. JavaScript基础知识总结(6张思维导图)
  10. TVS管的作用与原理是一样吗?
  11. html页面ie不显示图片,IE浏览器网页不显示图片如何解决?解决方法介绍
  12. 扫地机器人的喋血江湖
  13. linux opessl下载_linux安装openssl
  14. NetBeans 打开/保存具有指定编码的文件插件
  15. UG NX二次开发(C#)-装配-添加组件AddComponent
  16. 花书——PyTorch版本
  17. win7笔记本网络连接图标一直转圈但可上网
  18. 实现图片转换成字符画
  19. nodejs express摸爬滚打篇:express中使用mysql
  20. jython_Jython简介,第2部分:编程要点

热门文章

  1. 《D o C P》学习笔记(5 - 0)Dealing with Uncertainty Through Probability - 简介
  2. android美团底部栏实现,仿美团APP的底部滑动菜单实现
  3. word 文档不显示图片解决办法
  4. 计算机速记速录的发展,速录发展趋势及技巧
  5. Android之TextView设置autoLink属性后自定义跳转到指定界面
  6. LOL国服哪个服务器最稳定,《LOL》国服服务器排名怎么样 国服服务器排名一览...
  7. 乳腺癌标志物的进一步探索
  8. 管式超滤膜组件应对氨氮废水 轻松自如
  9. 运动控制卡应用开发教程之MATLAB
  10. Java开发实习生通常要做些什么?