java图像处理之幂律变换
幂律(伽马)变换公式:,γ取值范围(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图像处理之幂律变换相关推荐
- matlab怎么对图片实行伽马变换,[数字图像处理学习]幂律(伽马)变换
幂律变换的基本形式: 其中,c和γ为正常数.注:r和s取值范围[0,1]. 使用幂律变换进行对比度增强:灰度级压缩. C/C++ Demo: //通用 #include #include //图像操作 ...
- 求负片灰度扩展幂律变换
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.imadjust.stretchlim函数简介 二.代码展示 三.结果展示 总结 前言 在进行医学图像处理时灰度变 ...
- 基于FPGA的图像处理之幂律(伽马校正)变化
基于FPGA的灰度图像处理之幂律(伽马)变化 1 背景知识 幂律变换的基本形式为: (1) 其中c和为正常数.有时考虑到偏移量 可将式(1)写为.偏移量一般是显示标定问题,作为一个结果,通常在式(1) ...
- Python代码实现图像增强(线性变换、对数变换、幂律变换、分段线性变换、灰度级分层、直方图均衡化、平滑滤波器、锐化滤波器)
1. 线性变换 代码: import cv2 import random import imutils import numpy as np# 彩色图像每个像素值是[x,y,z], 灰度图像每个像素值 ...
- matlab幂次变换代码,matlab实现 图像的灰度变换 增强输入图像的对比度 幂律变换 代码...
matlab实现 图像的灰度变换 增强输入图像的对比度 幂律变换 代码 发布时间:2018-10-25 21:20, 浏览次数:891 , 标签: matlab 题目:选择合适的基本灰度变换模型及其参 ...
- Matlab幂律变换及直方图均衡化
一.目标: 1.实现幂律变换,可以尝试调整gamma数值,观察图像变换.分析Lena图像(灰度)在不同gamma数值下,图像灰度变换的特点. 2.观察Lena图像的直方图.实现Lena图像的直方图均衡 ...
- 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波3 -幂律变换、伽马变换
目录 幂律(伽马)变换 幂律(伽马)变换 s=crγ(3.5)s = c r^{\gamma} \tag{3.5}s=crγ(3.5) c和γc和\gammac和γ是正常数.考虑到偏移(即输入为0时的 ...
- 数字图像处理-python基于opencv代码实现 反转变换、对数变换和幂律(伽马)变换
本文主要介绍对<数字图像处理>第三章书中示例图片实现 反转变换.对数变换以及伽马变换的代码 若要获取更多数字图像处理,python,深度学习,机器学习,计算机视觉等高清PDF以及 更多有意 ...
- 基本的灰度变换函数——幂律(伽马)变换
幂律变换的基本形式为:,其中和是常数 有时考虑到偏移量,上式也写为.然而,偏移量是一般显示标定问题,因而作为一个结果,通常在上式中忽略不计. 与对数变换情况类似,部分值得幂律曲线将较窄范围的暗色值,映 ...
最新文章
- 【FFmpeg】设置H264参数
- node简单实现excel文件下载
- 归并排序执行次数_十大排序算法,看这篇就够了
- 【区块链基础知识系列】 第9课 一文诠释什么是DAG
- Pyhon Django 表单类ModelForm注册案例(可直接操作数据库)
- 无缓冲channel与容量为1的channel的区别
- 新年第一篇!西南民族大学第十届校赛(同步赛)
- 测试JUC安全类型的集合(Java)
- UnityShader7:内置包含文件UnityCG.cginc与GG/HLSL语义
- solr6.6.2之拼音联想
- 异步消息队列Celery
- 【一分钟知识】梯度下降与牛顿法对比
- 4.jenkins 添加一台 Linux 服务器
- Makefile教程(绝对经典,所有问题看这一篇足够了)
- 淘宝首页性能优化的“黄金法则”
- 尊诺百度SEO快速排名、发包、模拟点击软件
- 关于varying的理解
- 常见编码格式(中文编码)
- 运维:Jenkins报Suppressed: java.nio.file.FileSystemException
- ecshop简化虚拟商品购买收货人信息【ECSHOP购物车不存在实体商品电话改为非必须以及隐藏掉】
热门文章
- flink event-time 和连续窗口的使用
- Java精确到毫秒获取时间的三种方法,以及适用场景
- C语言满分代码:L1-056 猜数字 (20分)
- json java对象 简书_Java 对象的 Json 化与反 Json 化
- 剑指Offer25 合并两个排序的链表
- 迁移pg_PG奥斯卡!云数据库专属集群MyBase荣获2020 PG亚洲大会“年度最佳产品奖”...
- 如何统一集体的所有人的yum环境(以阿里云为例)
- 如何删除第一张单页_如何用PowerBI导入网页数据
- python redis 操作_使用Python操作redis
- matlab循环矢量化 嵌套,在Matlab中对for循环进行矢量化,得到不同结果的看似等效的代码...