图像增强算法:对比度增强算法以及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的图像处理教程》。

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

如有问题,欢迎指正。

相关推荐
Dovis(誓平步青云)1 分钟前
总用电下降了,为什么家庭能源看板仍然提示异常
java·开发语言·数据库·人工智能·算法·电脑·能源
程序猿乐锅1 分钟前
【从0-1学习Python | 第四篇】Python 字符串和元组
java·开发语言·笔记·后端·python·学习
开开心心就好5 分钟前
Windows视频播放器推荐,精简版体积更小
java·服务器·开发语言·eclipse·pdf·ocr·音视频
开开心心就好5 分钟前
A3的PDF怎么切成A4?拖一下分割线就行
服务器·开发语言·python·算法·pdf·ocr·tornado
小黄人软件7 分钟前
python 模块(Module)与包(Package)的区别,python xxx.py、python -m xxx 和 import xxx 三者的区别
开发语言·python
PHP实战开发录7 分钟前
PHP中文文件名为什么乱码
开发语言·php
阿里嘎多学长31 分钟前
2026-10-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
巧克力味的桃子38 分钟前
复杂网络能控性鲁棒性研究进展
开发语言·网络·php
普通人61 小时前
php处理百度编辑器有误html
开发语言·编辑器·html·php·1024程序员节
沉下心来学鲁班1 小时前
具身智能入门:用 Python 让 MicroDuck 机器狗学会走路
开发语言·人工智能·python·机器人