IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 数字图像处理 平衡对比度增强 -> 正文阅读

[人工智能]数字图像处理 平衡对比度增强

平衡对比度增强(Balance Contrast Enhancement Technique) (BCET)

可以在不改变输入图像(x)的直方图模式的情况下拉伸或压缩图像的对比度。 基于从输入图像获得的抛物线函数。

函数定义为

其中,Y 表示最终输出图像,而 X 表示输入图像。 该抛物线函数由三个系数 A、B 和 C 控制。?

上述公式中?

l =?输入图像的最小灰度值
h = 输入图像的最大灰度值
e = 输入图像的平均灰度值
L =?输出图像的最小值,通常为0
H =?输出图像的最大值,通常为255
E =?输出图像的平均值,自定义

?s =?输入图像的均方和

MATLAB参考代码

I = imread('pout.tif'); %READ THE INPUT IMAGE
figure,subplot(121), imshow(I);title('INPUT IMAGE');
x    = double(I); % INPUT IMAGE
Lmin = min(x(:)); % MINIMUM OF INPUT IMAGE
Lmax = max(x(:)); % MAXIMUM OF INPUT IMAGE
Lmean = mean(x(:)); %MEAN OF INPUT IMAGE
LMssum = mean(x(:).^2); %MEAN SQUARE SUM OF INPUT IMAGE

Gmin = 0; %MINIMUM OF OUTPUT IMAGE
Gmax = 255; %MAXIMUM OF OUTPUT IMAGE
Gmean = 110; %MEAN OF OUTPUT IMAGE

bnum = Lmax.^2*(Gmean-Gmin) - LMssum*(Gmax-Gmin) + Lmin.^2*(Gmax-Gmean);
bden = 2*(Lmax*(Gmean-Gmin)-Lmean*(Gmax-Gmin)+Lmin*(Gmax-Gmean));

b = bnum/bden;

a = (Gmax-Gmin)/((Lmax-Lmin)*(Lmax+Lmin-2*b));

c = Gmin - a*(Lmin-b).^2;

y = a*(x-b).^2+c; %PARABOLIC FUNCTION
y = uint8(y);

subplot(122),imshow(y);title('OUTPUT IMAGE');

OpenCV参考代码

double Lmin, Lmax, Lmean, LMssum;
Cv2.MinMaxIdx(gray, out Lmin, out Lmax);
Lmean = (int)Cv2.Mean(gray);
LMssum = (int)Cv2.Mean(gray.Pow(2));

double Gmin = 0, Gmax = 255, Gmean = 110;
double bnum = Lmax * Lmax * (Gmean - Gmin) - LMssum * (Gmax - Gmin) + Lmin * Lmin * (Gmax - Gmean);
double bden = 2 * (Lmax * (Gmean - Gmin) - Lmean * (Gmax - Gmin) + Lmin * (Gmax - Gmean));

double b = bnum / bden;
double a = (Gmax - Gmin) / ((Lmax - Lmin) * (Lmax + Lmin - 2 * b));
double c = Gmin - a * (Lmin - b) * (Lmin - b);

for(int h=0; h< gray.Height; h++)
{
    for (int w = 0; w < gray.Width; w++)
    {
        int v = gray.At<byte>(h, w);
        double r = a * (v - b) * (v - b) + c;
        gray.Set<byte>(h, w, (byte)r);
    }
}

效果如下?

原始图像
增强后图像

相关参考

https://www.imageeprocessing.com/2017/11/balance-contrast-enhancement-technique.html

https://www.iieta.org/journals/ts/paper/10.18280/ts.370210

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:45:54  更:2021-07-28 07:50:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年3日历 -2024/3/29 22:47:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码