一、引言
图像点运算也叫灰度变换,是图像处理基础操作。图像点运算仅针对单个像素灰度值独立计算,运算结果只由该像素原始值决定,与邻域像素无关。运算不会改变图像像素空间位置与几何结构,仅调整灰度分布,常用于亮度调节、对比度增强、灰度校正,按照g(x,y)=T(f(x,y))公式中变换函数T的性质可分为线性点运算与非线性点运算两类。
下面通过一幅灰度图像利用MATLAB进行线性点运算和非线性点运算增强。
二、原始图像和程序

clear all;
close all;
I=imread('pout.tif');
imshow(I);
Imaxvalue=max(I(:))
Iminvalue=min(I(:))
%I2=255/224*I;
I2=1.5*I;
%I22=imadjust(I,[74/255 224/255],[0 1]);%调整图像强度值
%figure,imshow(I22);
%figure,imhist(I22);
figure('Name','线性增强图像','NumberTitle','off');
subplot(2,2,1),imshow(I),title('原始图像');
subplot(2,2,2),imhist(I),title('原始图像灰度直方图');
subplot(2,2,3),imshow(I2),title('线性增强后图像');
subplot(2,2,4),imhist(I2),title('线性增强后灰度直方图');
% ------------------- 对数变换 -------------------
I_double = double(I); % 先转double避免计算溢出
I3 = log(1 + I_double); % 对数变换
I3max=max(I3(:));
I3min=min(I3(:));
% 归一化到 [0,1],拉伸到标准灰度范围
I3_norm = (I3 - min(I3(:))) / (max(I3(:)) - min(I3(:)));
% 转换为uint8(可选,使类型与原始图像一致,直方图x轴为0-255)
I3 = uint8(255 * I3_norm);
figure('Name','使用对数函数增量图像','NumberTitle','off');
subplot(2,2,1),imshow(I),title('原始图像');
subplot(2,2,2),imhist(I),title('原始图像灰度直方图');
subplot(2,2,3),imshow(I3),title('对数变换后增强后图像'); % 无需[],I3已是标准灰度
subplot(2,2,4),imhist(I3),title('对数变换后增强后灰度直方图');
三、主要运行结果


四、结果与讨论
通过对MATLAB自带的pout.tif灰度图像进行线性点运算和非线性点运算,调整了图像的灰度分布,增强了对比度。