【图像处理】matlab 实现线性对比度展宽算法

实验内容

实现线性对比度展宽算法

实验过程

读入图像到矩阵F
得到F的行列数与颜色通道数:m,n,c
如果颜色通道数c>1,则将彩色图像转化为灰度图rgb2gray
初始化输出矩阵G
对于G的每一行i
     对于G的每一列j
     根据公式(教材P36),由F(i,j)计算G(i,j)

测试代码

fa = 5;fb = 30;
 	ga = 80;gb = 100;
    ImPath='.\im\pict1.png';
    J=ContrastWidening(ImPath,fa,fb,ga,gb);
    figure,imshow(ImPath);
figure,imshow(J);

实验所需图片

链接:https://pan.baidu.com/s/1LaxnZdLeY3LnKKv276E0pA
提取码:vk8y

实验源码

function J=ContrastWidening(ImPath,fa,fb,ga,gb)
x = imread(ImPath); %读取图像到矩阵I
[m,n,c] = size(x);  %读取图像的行数和列数
if(c>1)
    I=rgb2gray(x);
end
J=zeros(m,n);
I = double(I);  %将I数据转换成double类型
k1 = ga/fa;     %计算比例系数k1,k2,k3
k2 = (gb-ga)/(fb-fa);
k3 = (255-gb)/(255-fb);
for i=1:m
    for j=1:n
        if I(i,j)<fa
            J(i,j) = k1*I(i,j);
        elseif I(i,j)<fb
            J(i,j) = k2*(I(i,j)-fa)+ga;
        else
            J(i,j) = k3*(I(i,j)-fb)+gb;
        end
    end
end
J = uint8(J);  %转换uint8编码
end

实验结果

学如逆水行舟,不进则退
一百个Chocolate CSDN认证博客专家 CSDN博客专家 Vue爱好者 博客之星
不是只会写业务代码的前端开发攻城狮!博客网站:yangchaoyi.vip做限量版的自己,就这样安静地努力。一个还在苦学前端的小小Chocolate,我的博客主要分享前端、算法、大学课程笔记、平常遇到的bug、心得感悟体会,感谢您的访问,若喜欢可以关注一下~每一个清晨,记得鼓励自己。没有奇迹,只有你努力的轨迹;没有运气,只有你坚持的勇气!每一份坚持都是成功的累积,只要相信自己,总会遇到惊喜!座右铭:学如逆水行舟,不进则退!
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值