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

一、引言

图像点运算也叫灰度变换,是图像处理基础操作。图像点运算仅针对单个像素灰度值独立计算,运算结果只由该像素原始值决定,与邻域像素无关。运算不会改变图像像素空间位置与几何结构,仅调整灰度分布,常用于亮度调节、对比度增强、灰度校正,按照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 小时前
009-Transformer-Architecture
人工智能·深度学习·transformer
covco3 小时前
矩阵管理系统指南:拆解星链引擎的架构设计与全链路落地实践
大数据·人工智能·矩阵
chao1898443 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
沪漂阿龙3 小时前
AI大模型面试题:支持向量机是什么?间隔最大化、软间隔、核函数、LinearSVC 全面拆解
人工智能·算法·支持向量机
lifewange3 小时前
AI编写测试用例工具介绍
人工智能·测试用例
陕西字符3 小时前
2026 西安 豆包获客优化技术深度解析:企来客科技 AI 全域获客系统测评
大数据·人工智能
掘金安东尼3 小时前
GGUF、GPTQ、AWQ、EXL2、MLX、VMLX...运行大模型,为什么会有这么多格式?
人工智能
新知图书3 小时前
市场分析报告自动化生成(使用千问)
人工智能·ai助手·千问·高效办公
无心水3 小时前
【Hermes:安全、权限与生产环境】38、Hermes Agent 安全四层纵深:最小权限原则从理论到落地的完全指南
人工智能·安全·mcp协议·openclaw·养龙虾·hermes·honcho
旦莫3 小时前
AI驱动的纯视觉自动化测试:知识库里应该积累什么知识内容
人工智能·python·测试开发·pytest·ai测试