本文章主要是学习图像的线性拉伸算法,f(x)=k*x+b;通过修改参数K和b可以改变图像的对比度。
clc;
close all;
clear all;
I =imread('D:/matlab_project/city_afternoon.png');%读取图像原图
Img =rgb2gray(I);%rgb2gray函数的作用就是将彩色图像转换为灰度图像
Img =im2double(Img);%将图像数据转换为double型
[M,N]=size(Img);%获取图像的分辨率
figure(1);
imhist(Img); %调用imhist函数对图像进行直方图统计
title('直方图统计结果');%给直方图添加标题
%增加图像对比度
Fa=1.5;Fb=-55;%线性系数
%通过for循环对每个像素值进行拉伸
for i=1:M
for j=1:N
Imgs(i,j)=Fa.*Img(i,j)+(Fb/255);
end
end
figure(2);
subplot(1,2,1);
imshow(Img);title('灰度图片');
figure(2);
subplot(1,2,2);
imshow(Imgs);title('增强对比度图像')