图像增强算法:Gamma映射算法及MATLAB实现

(本文只介绍算法及实现,关于Gamma的具体原理需要大家自行去了解)

目录

一.计算公式

二.MATLAB的实现


一.计算公式

将像素扩展到0-255,上述计算公式进一步变形如下:

当r<1时,增强暗部细节,压缩亮部,用于处理过暗的图像;

当r>1时,增强亮部细节,压缩暗部,用于处理过亮的图像。

二.MATLAB的实现

Matlab 复制代码
clc;
clear all;

img = imread('D:\matlab file\image_gamma\yu.bmp');
img = rgb2gray(img);
[h,w] = size(img);

figure('Position', [700,200, 1000, 800]);  %设置figure的大小
subplot(1,3,1);imshow(img);title('原图');

img = double(img);
image1 = zeros(h,w);
for i = 1 : h
    for j = 1 : w
        image1(i,j) = (255/(255.^2.2)) * img(i,j).^2.2; %gamma取2.2
    end
end

image1 = uint8(image1);

subplot(1,3,2);imshow(image1);title('gamma = 2.2的映射');

image2 = zeros(h,w);
for m = 1 : h
    for n = 1 : w
        image2(m,n) = (255/(255.^(1/2.2))) * img(m,n).^(1/2.2); %gamma取1/2.2
    end
end

image2 = uint8(image2);

subplot(1,3,3);imshow(image2);title('gamma = 1/2.2的映射');

显示效果如下所示

参考自《基于MATLAB与FPGA的图像处理教程》。

内容仅供学习使用,请勿转载。

如有问题,欢迎指正。

相关推荐
霸道流氓气质4 分钟前
Saga模式入门与实战:编排与协同模式、补偿设计原则与Java生产级实现
java·开发语言
荆棘鸟智能5 分钟前
虫情测报灯图像识别算法实践:小目标检测、粘连计数与飞虱细粒度分类
算法·目标检测·分类
silvamux_26 分钟前
OpenAI Python SDK v1 迁移实战
开发语言·python
爱读书的小胖27 分钟前
LeetCode 27. 移除元素(C)解题分析
数据结构·算法
旋生万物27 分钟前
螺旋数不是玄学:Python 实现广义复数与等角螺线
开发语言·人工智能·python·云原生·aigc·软件工程·后端开发
半杯咖啡半行码28 分钟前
Linux字符设备驱动实战:ioctl接口与GPIO操作指南
linux·开发语言
科技小E28 分钟前
敏感数据不敢上云训练?本地大模型推理服务器DLTM私有化部署,让训练全程留在企业内网
大数据·算法·自动化
ZoeLandia29 分钟前
TypeScript 07:工程化——import type、声明文件与 tsconfig
开发语言·前端·typescript
小小程序猴138 分钟前
用工程视角建模企业AI培训周期:三段账本估算器(Python实现)
开发语言·人工智能·python
小草cys1 小时前
用 GPT 直接生成可编辑 PPTX 的实操记录,artifact-tool是OpenAICodex环境专用
gpt·算法·pptx