图像的点运算(线性点运算和非线性点运算)

一、引言

图像点运算也叫灰度变换,是图像处理基础操作。图像点运算仅针对单个像素灰度值独立计算,运算结果只由该像素原始值决定,与邻域像素无关。运算不会改变图像像素空间位置与几何结构,仅调整灰度分布,常用于亮度调节、对比度增强、灰度校正,按照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灰度图像进行线性点运算和非线性点运算,调整了图像的灰度分布,增强了对比度。

撰写博客不易,如果你觉得本文对你的学习和工作有过帮助,请点赞和关注,欢迎转发。谢谢!

相关推荐
十三画者2 小时前
【文献分享】ConfRetro:融合3D构象信息的逆合成预测Transformer框架
人工智能·深度学习·数据挖掘·数据分析·transformer·数据可视化
zandy10112 小时前
AI办公工具选哪个?千问办公、百度搭子、WorkBuddy三款高阶智能体深度拆解
人工智能·ai办公工具
mengpp_1234562 小时前
AIoT平台 vs 普通IoT平台 核心区别
人工智能
canonical_entropy2 小时前
可逆不是逆向运行:DeepSeek Harness 架构的数学本质
人工智能·架构·agent
别动我齐刘海3 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
冬奇Lab3 小时前
Code Agent 解剖(05):模型怎么知道有哪些工具可以用?Function Calling 如何实现?
人工智能·开源·agent
ZGIAI3 小时前
ZGI Workflow:让知识检索进入业务流程
人工智能·架构
ZGIAI3 小时前
ZGI 模型网关:统一接入与路由大模型
人工智能·架构
冬奇Lab4 小时前
开源项目第193期:Semantica — 开源版 Palantir for AI Agent,知识图谱 + 确定性推理 + W3C 溯源,让 AI 决策可追溯、可审计、可合规
人工智能·开源·资讯
雷帝木木4 小时前
数据湖与数据仓库:从理论到实践
人工智能·python·深度学习·机器学习