幂律(伽马)变换公式:,γ取值范围(0,+∞)

对图像做幂律变换处理,当γ取值(0,1)可以将图像较暗的灰度值映射到更大的灰度值,同时较亮部分变化较小;γ取值(1,+∞)可以将较亮部分映射到更低的亮度,而更暗的部分变化较小。

处理彩色图像,只需要将RGB取出,分别进行幂律变换即可。公式中,c可以取值255,r = a/255,a为像素上RGB分量之一,那么整个公式的取值范围为(0,255),不考虑计算过程的四舍五入的话,幂律变换的操作是可逆的。

实现代码如下:

public void gammaTranverse(BufferedImage image, double param) {for (int i = 0; i < image.getWidth(); i++) {for (int j = 0; j < image.getHeight(); j++) {// 将rgb转换为各个值int rgb = image.getRGB(i, j);double R = (rgb >> 16) & 0xff;double G = (rgb >> 8) & 0xff;double B = rgb & 0xff;// 进行伽马变换R = 255 * Math.pow(R / 255, param);G = 255 * Math.pow(G / 255, param);B = 255 * Math.pow(B / 255, param);// 将值转换为rgbrgb = ((clamp(255) & 0xff) << 24) | ((clamp((int) R) & 0xff) << 16) | ((clamp((int) G) & 0xff) << 8)| ((clamp((int) B) & 0xff));image.setRGB(i, j, rgb);}}}

测试结果:

1、原图。这是一张光线暗到几乎很难直接看到地面物体的航拍影像。通过幂律变换进行处理,增强较暗影像。

2、γ取值为0.4,通过幂律变换处理后效果,可以看到影像增强效果非常明显,影像大部分区域由几乎不可见变得可见。

3、这是一幅光线比较强,且受到云雾干扰的影像。

4、γ取值为2处理后效果,影像整体变暗,但对比度更明显,受光线和云雾干扰造成的泛白现象减弱,整体视觉效果有所提升。

java图像处理之幂律变换相关推荐

  1. matlab怎么对图片实行伽马变换,[数字图像处理学习]幂律(伽马)变换

    幂律变换的基本形式: 其中,c和γ为正常数.注:r和s取值范围[0,1]. 使用幂律变换进行对比度增强:灰度级压缩. C/C++ Demo: //通用 #include #include //图像操作 ...

  2. 求负片灰度扩展幂律变换

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.imadjust.stretchlim函数简介 二.代码展示 三.结果展示 总结 前言 在进行医学图像处理时灰度变 ...

  3. 基于FPGA的图像处理之幂律(伽马校正)变化

    基于FPGA的灰度图像处理之幂律(伽马)变化 1 背景知识 幂律变换的基本形式为: (1) 其中c和为正常数.有时考虑到偏移量 可将式(1)写为.偏移量一般是显示标定问题,作为一个结果,通常在式(1) ...

  4. Python代码实现图像增强(线性变换、对数变换、幂律变换、分段线性变换、灰度级分层、直方图均衡化、平滑滤波器、锐化滤波器)

    1. 线性变换 代码: import cv2 import random import imutils import numpy as np# 彩色图像每个像素值是[x,y,z], 灰度图像每个像素值 ...

  5. matlab幂次变换代码,matlab实现 图像的灰度变换 增强输入图像的对比度 幂律变换 代码...

    matlab实现 图像的灰度变换 增强输入图像的对比度 幂律变换 代码 发布时间:2018-10-25 21:20, 浏览次数:891 , 标签: matlab 题目:选择合适的基本灰度变换模型及其参 ...

  6. Matlab幂律变换及直方图均衡化

    一.目标: 1.实现幂律变换,可以尝试调整gamma数值,观察图像变换.分析Lena图像(灰度)在不同gamma数值下,图像灰度变换的特点. 2.观察Lena图像的直方图.实现Lena图像的直方图均衡 ...

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

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

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

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

  9. 基本的灰度变换函数——幂律(伽马)变换

    幂律变换的基本形式为:,其中和是常数 有时考虑到偏移量,上式也写为.然而,偏移量是一般显示标定问题,因而作为一个结果,通常在上式中忽略不计. 与对数变换情况类似,部分值得幂律曲线将较窄范围的暗色值,映 ...

最新文章

  1. 【FFmpeg】设置H264参数
  2. node简单实现excel文件下载
  3. 归并排序执行次数_十大排序算法,看这篇就够了
  4. 【区块链基础知识系列】 第9课 一文诠释什么是DAG
  5. Pyhon Django 表单类ModelForm注册案例(可直接操作数据库)
  6. 无缓冲channel与容量为1的channel的区别
  7. 新年第一篇!西南民族大学第十届校赛(同步赛)
  8. 测试JUC安全类型的集合(Java)
  9. UnityShader7:内置包含文件UnityCG.cginc与GG/HLSL语义
  10. solr6.6.2之拼音联想
  11. 异步消息队列Celery
  12. 【一分钟知识】梯度下降与牛顿法对比
  13. 4.jenkins 添加一台 Linux 服务器
  14. Makefile教程(绝对经典,所有问题看这一篇足够了)
  15. 淘宝首页性能优化的“黄金法则”
  16. 尊诺百度SEO快速排名、发包、模拟点击软件
  17. 关于varying的理解
  18. 常见编码格式(中文编码)
  19. 运维:Jenkins报Suppressed: java.nio.file.FileSystemException
  20. ecshop简化虚拟商品购买收货人信息【ECSHOP购物车不存在实体商品电话改为非必须以及隐藏掉】

热门文章

  1. flink event-time 和连续窗口的使用
  2. Java精确到毫秒获取时间的三种方法,以及适用场景
  3. C语言满分代码:L1-056 猜数字 (20分)
  4. json java对象 简书_Java 对象的 Json 化与反 Json 化
  5. 剑指Offer25 合并两个排序的链表
  6. 迁移pg_PG奥斯卡!云数据库专属集群MyBase荣获2020 PG亚洲大会“年度最佳产品奖”...
  7. 如何统一集体的所有人的yum环境(以阿里云为例)
  8. 如何删除第一张单页_如何用PowerBI导入网页数据
  9. python redis 操作_使用Python操作redis
  10. matlab循环矢量化 嵌套,在Matlab中对for循环进行矢量化,得到不同结果的看似等效的代码...