图像增强算法:对比度增强算法以及MATLAB实现

目录

一.指数对比度增强算法

二.MATLAB实现


对比度增强是一种提高明暗差异的算法,使亮的更亮,暗的更暗。文章以指数对比度增强为例,介绍其计算公式以及MATLAB的实现。

一.指数对比度增强算法

指数对比度增强以一定阈值为中心,提高阈值以上的亮度,降低阈值以下的亮度。计算公式为:

THRESHOLD为阈值,E为对比度增强的程度,E越大,对暗区的压缩以及亮区的提升就越大,明暗的对比越明显。

以对称灰阶图为例,其指数对比度增强及原图如下所示:

可以看出,经过指数对比度增强后,原图暗的地方更暗,亮的地方更亮了。

二.MATLAB实现

Matlab 复制代码
clc;
clear all;

E = 5;

image = imread('D:\matlab file\image_constrast\yu.bmp');
image = rgb2gray(image);
image = double(image);     

figure('Position', [100,200,1000,800]);  %设置figure的大小以及显示位置
subplot(2,3,1);
imshow(uint8(image));
title('原图');
subplot(2,3,4);
imhist(uint8(image));
title('原图的灰度直方图');

[h,w] = size(image);
THRESHOLD1 = h/2;

image1 = zeros(h,w);
for u = 1 : h
    for v = 1 : w
        image1(u,v) = (1 ./ (1 + (THRESHOLD1./image(u,v)).^E)) * 255; %注意需要将image转为double类型进行计算
    end
end

image1 = uint8(image1);

subplot(2,3,2);
imshow(image1);
title('对比增强后的显示');
subplot(2,3,5);
imhist(image1);
title('对比增强的灰度直方图');

下面是经过指数对比度增强,直方均衡后的图像显示效果以及其灰度直方图(关于直方图均衡的MATLAB实现参考前文):

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

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

如有问题,欢迎指正。

相关推荐
AI玫瑰助手2 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
油炸自行车2 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
肩上风骋2 小时前
C++14特性
开发语言·c++·c++14特性
JAVA社区4 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
弥树子4 小时前
踩坑记录:服务器内网调用接口,真实请求URL与官方公开URL不一致问题排查
开发语言·php
彬鸿科技4 小时前
bhSDR Studio/Matlab入门指南(十一):AI数据集采集实验界面全解析
人工智能·matlab·软件定义无线电
z落落4 小时前
C# ToCharArray + foreach遍历 + String与StringBuilder
开发语言·c#
学代码的真由酱4 小时前
Java多用户一对一网页聊天室-测试报告
java·开发语言·功能测试·测试
人道领域4 小时前
【LeetCode刷题日记】669.修剪二叉搜索树
开发语言·python·算法
xiaoshuaishuai85 小时前
C# AvaloniaUI动态显示图片
开发语言·c#