直接灰度变换法matlab,数字图像处理-灰度变换(附MATLAB代码)
目录
图像增强
1.灰度变换
(1)线性变换
(2)分段线性变换
(3)非线性灰度变换
2.直方图修正法
(1)直方图均衡化
(2)直方图规定化
图像增强
图像增强的目的:(1)利用一系列技术改善图像的视觉效果,提高图像清晰度。(2)将图像转换为一种更适合人或机器进行分析处理的形式,抑制无用信息,提高图像使用价值。
图像增强从作用域划分为:空间域增强、频率域增强、彩色增强。
其中,空间域增强是直接对图像像素灰度进行操作。包括:点运算和局部运算。
频率域是经过傅里叶变换后对图像频谱进行操作,最后进行逆变换得到结果。
点运算包括:灰度变换、直方图修正法和局部统计法。
1.灰度变换
灰度变换使得图像的动态范围增大,增强对比度,让图像变得更清晰,特征更明显。
其中包括:线性变换、分段线性变换、非线性灰度变换。
(1)线性变换
图像的灰度集中在较亮的区域而导致图像偏亮,这个时候可以对图像的每一个像素灰度作线性拉伸。
原图像f(i,j)的灰度范围为[a,b],线性变换后图像g(i,j)的范围为[a1,b1]
关系式为:
A = imread('412.jpg');
A1 = rgb2gray(A);%彩色图像转为灰度图像
a1 = 0;
b1 = 255;%线性变换后的范围
%imhist(A1)%查看灰度直方图
subplot(121),imshow(A1);
a = 50;
b = 250;%原图像范围
A2 = a1+(b1-a1)/(b-a)*(A1-a);
subplot(122),imshow(A2);
(2)分段线性变换
为了突出感兴趣的目标,抑制不感兴趣的目标,可以采用分段线性变换。
公式:
A = imread('412.jpg');
A1 = im2double(rgb2gray(A));%彩色图像转为灰度图像
[h,w] = size(A1);
A2 = zeros(h,w);
a = 0.2;
b = 0.8;
c = 0.1;
d = 0.9;
for i = 1:h
for j = 1:w
if A1(i,j)<=a
A2(i,j) = (c/a) * A1(i,j);
elseif A1(i,j)
(3)非线性灰度变换
某些非线性函数:对数函数、指数函数等作为映射函数的时候,可实现非线性变换。
1.对数变换
对低灰度区进行拉伸,对高灰度区进行压缩。
A = imread('412.jpg');
A1 = im2double(rgb2gray(A));%彩色图像转为灰度图像
subplot(221),imhist(A1)%查看灰度直方图
subplot(222),imshow(A1);
A2 = log(A1+1);
subplot(223),imhist(A2)
subplot(224),imshow(A2);
2.指数变换
对高灰度区拉伸。
A = imread('412.jpg');
A = rgb2gray(A);
A1 = double(A);
A2 = 1.5.^(A1*0.070)-1;
A1 = uint8(A1);
A2 = uint8(A2);
subplot(221),imhist(A1)%查看灰度直方图
subplot(222),imshow(A1);
subplot(223),imhist(A2)
subplot(224),imshow(A2);
这里我发现了MATLAB里面 im2double 和 double原来是有区别的?于是去查了下……
(被这个坑了一个小时的我泪流满面)
im2double()是转换为double类型以后并且归一化为[0,1]中,而double没有做此处理。
2.直方图修正法
一般的图像灰度分布集中在较窄的区间,导致图像细节不清晰,使用直方图修正法可以让图像的灰度间距拉开或者让灰度分布均匀而增大反差,使得图像细节清晰。
直方图修正法包括:直方图均衡化和直方图规定化。
(1)直方图均衡化
直方图均衡化是将原图像的直方图通过变换函数修正为均匀的直方图,然后按均衡直方图修改原图像。
变换函数:(离散)
ps.咦怎么打不出求和函数……
MATLAB里刚好有histeq()函数可以用于均衡化。
其中:histeq()有两个参数,第一个参数为要处理的图像,第二个参数为处理后的灰度级个数。
A = imread('412.jpg');
A1 = rgb2gray(A);
A2 = histeq(A1,64);
subplot(221),imhist(A1)%查看灰度直方图
subplot(222),imshow(A1);
subplot(223),imhist(A2)
subplot(224),imshow(A2);
(2)直方图规定化
直方图规定化是使原图像灰度直方图变成规定形状的直方图来对图像作修正。
直方图均衡化是直方图规定化的一个特例。
A = imread('412.jpg');
A1 = rgb2gray(A);
h=0:255;
h=1-h/255;%目标直方图
A2 = histeq(A1,h);
subplot(221),imhist(A1)%查看灰度直方图
subplot(222),imshow(A1);
subplot(223),imhist(A2)
subplot(224),imshow(A2);
--------------------------end------------------------
下一篇总结图像空间域平滑
直接灰度变换法matlab,数字图像处理-灰度变换(附MATLAB代码)相关推荐
- 数字图像处理应用matlab,数字图像处理与应用(MATLAB版)
第 1章 绪论 1n 1.1 图像的概念 1n 1.2 图像的分类 2n 1.3 图像的表示 2n 1.3.1 图像信号的表示 2n 1.3.2 数字图像的表示 3n 1.3.3 颜色模型 4n 1. ...
- 图像处理学习笔记之——Matlab数字图像处理
Matlab 数字图像处理 1.Matlab R2017b 简介 1.1.Matlab 软件环境 1.1.1.软件界面 1.1.2.Matlab 命令与程序 可以在 >> 提示符后面输入简 ...
- 数字图像处理 -灰度变换 之 对数变换(Log Transformation)
本文参考了 以下这篇文章 [数字图像处理]灰度变换--反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割 https://blog.csdn.net/zhoufan900428/article/d ...
- matlab空域滤波,MATLAB数字图像处理基本操作及空域滤波
MATLAB数字图像处理基本操作及空域滤波 实验一 MATLAB 数字图像处理基本操作及空域滤波实验目的1.了解有关数字图像处理的基本概念,熟悉Matlab软件中关于数字图像处理的基本命令,掌握利用M ...
- Matlab数字图像处理——图像处理工具箱Image Processing Toolbox
Image Processing Toolbox 图像处理工具箱包含的功能: 图像的读取和保存 图像的显示 创建GUI 图像的几何变换 图像滤波器设计及线性滤波 形态学图像处理 图像域变换 图像增强 ...
- Matlab数字图像处理——图像文件的读取
文章目录 一.Matlab中获取图像信息的函数 imfinfo 二.Matlab读取图像文件的函数 imread 三.Matlab保存图像文件的函数 imwrite 完整目录 一.Matlab中获取图 ...
- MATLAB说明图像增强,MATLAB数字图像处理(二)图像增强
1 图像增强 1.1 直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: 1 2 3I2=histeq( ...
- Matlab数字图像处理——图像的空间变换
Matlab空间变换函数 imtransform Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移.旋转.剪切.缩放).投影变换, 该函数可与 maketform 配合 ...
- 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识
本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...
最新文章
- 实现一个网易云音乐的 BottomSheetDialog
- 关于nginx rewrtie的四种flag
- POJ 2828 Buy Tickets 线段树
- Leetcode 703. 数据流中的第K大元素 解题思路及C++实现
- oracle主键增长方式,oracle 自增长主键
- MFC之键盘和键盘消息处理
- MTU 和 MSS 区别
- 【Spring框架】 ☞ 项目启动时执行特定处理及ApplicationListener源码分析
- 账户与使用计算机的人无关,本地用户和组
- html怎样获取用户手机号码,小程序如何获取用户手机号?
- 论文笔记_S2D.25_2007-ACM-ISMAR-小型AR环境的并行跟踪和建图
- Atitit 发帖机实现(1)-----UsrQBm2008 页面上下文规范
- [MySQL 源码] Innodb Pessimistic Insert流程
- SQL Server事物日志
- PS 滤镜算法原理 ——马赛克
- JESD204B SUBCLASS1确定性延时参数的计算
- Unicode(ASII)控制字符的含义
- css元素点击后变色,且点击别的地方不会颜色消失
- JS获取上周(自然周、最近七天)、上月(自然月、最近一个月)、全年的开始和结束日期
- Jzoj1967 聪聪可可