图像增强(1-灰度级变换)—内涵MATLAB源码

article/2024/12/25 9:20:15

起篇三连问:

第一问:何为数字图像的增强?

       个人理解,就是通过对图像进行平滑去噪、改变灰度级或者增强边缘,将我们想要的某些图像特征更明显的显现出来。这就是图像的增强,该过程重在对比度的拉伸。

第二问:费了半天劲,对图像增强对我们有什么好处理嘞?

      说白了,图像增强就是一个图像预处理的工作,将我们想要的图像特征弄的比较显眼,为后期的目标提取、识别等打下良好的基础。

第三问:图像增强的方法有哪些?

      有小伙伴该说了这个难不倒俺,有调整灰度级的灰度级变换法(什么线性的、非线性的、分段的。。。)、去除噪声的(什么低通、中值、均值。。。)、显示边缘的(什么高通、sobel算子、roberts算子。。。)。看到这样的回答我只能说:老铁没毛病。但我想说的是任你天花乱坠,我只认时域频域。。。。嘿嘿。

OK,废话不多说了,看正文。。。。

     咱们来看看在时域(也有人说是空域)

           在时域中一般有两个方式:灰度级变换和卷积操作。接下来咱逐个来看哈。本节重点实现灰度级变换

          灰度级变换,说明白点就是改变图像中部分像素点的灰度值,目的就是将灰度级扩展一下,将图像更亮暗分明些,仅此而已(在图像增强中属于最简单的一类)。大致方法就是线性变化和非线性变化两大类。线性变化中主要包含有:正比、反比和分段函数;非线性主要包含有:幂函数、对数函数等。原理比较简单,直接在代码中体现。

实例来咯:以MATLAB自带图像pout.tif作为原始图像

%线性变化

close all; clear all; clc
I = imread('pout.tif');
figure;imshow(I);title('原图')
%线性变化,整体变亮.函数 y = 2x + 33
g1 = 2.*I + 3;
figure;
subplot(221);imshow(I);title('原图');
subplot(222);imhist(I);title('原图的灰度直方图')
subplot(223);imshow(g1,[]);title('线性变换后的变亮图像')
subplot(224);imhist(g1);title('线性变换后变亮图像的灰度直方图')%线性变化,整体变暗,函数 y = x-50
g2 = I - 50;
figure;
subplot(221);imshow(I);title('原图');
subplot(222);imhist(I);title('原图的灰度直方图')
subplot(223);imshow(g2,[]);title('线性变换后的变暗图像')
subplot(224);imhist(g2);title('线性变换后变暗图像的灰度直方图')%分段函数          0        x<50
%        y =   2*x + 3  50<x<=150
%                255      x>150
[m,n] = size(I);
J = ones(m,n);
for i=1:mfor j=1:nif I(i,j) < 50J(i,j) = 0;elseif I(i,j) > 150J(i,j) = 255;elseJ(i,j) = I(i,j) + 50;endend
end
J = uint8(J);
figure;
subplot(221);imshow(I);title('原图');
subplot(222);imhist(I);title('原图的灰度直方图')
subplot(223);imshow(J);title('分段函数变换后的图像')
subplot(224);imhist(J);title('分段变换后图像的灰度直方图')

处理结果:

           从上图的处理结果,大家可以看出,灰度级的变换就是改变图像中每个像素的灰度值。尤其第二幅和第三幅图的直方图可以很明显的看出,第二幅图由于整体灰度值都降低了50,则整个直方图向左移了50。第三图将低于50和高于150的都归于0和255了,只留下中的一部分,并在该部分加了50,故直方图看起来单薄了些,但大致形状还是有的,并且向右移了50。

Ok,这部分就是线性的部分的灰度级变换了,接下来进行非线性的。

log型、曲线型、指数型。

close all; clear all; clc
I = imread('pout.tif');
%指数型   y = 30*(log(x+1))
J = im2double(I);%由于I属于uint型,在进行log或指数运行时,须变换成double型
K = 30*(log(J+1));
K = uint8(K);
subplot(221);imshow(I);title('原图');
subplot(222);imhist(I);title('原图的灰度直方图')
subplot(223);imshow(K,[]);title('log变换后的图像')
subplot(224);imhist(K);title('log变换后图像的灰度直方图')%曲线形 y = x+ x*(255-x)/255
K1 = I + I.*(255-I)./255;
figure;
subplot(221);imshow(I);title('原图');
subplot(222);imhist(I);title('原图的灰度直方图')
subplot(223);imshow(K1,[]);title('曲线型变换后的图像')
subplot(224);imhist(K1);title('曲线型变换后图像的灰度直方图')%指数型 y = e^(-0.5*x + 3)
K2 = exp(-0.5.*J + 3);
K2 = uint8(K2);
figure;
subplot(221);imshow(I);title('原图');
subplot(222);imhist(I);title('原图的灰度直方图')
subplot(223);imshow(K2,[]);title('曲线型变换后的图像')
subplot(224);imhist(K2);title('曲线型变换后图像的灰度直方图')

处理结果:

OK,有关灰度级变换的咱们到此结束了,接下来一节进行卷积操作。

 


http://chatgpt.dhexx.cn/article/Sck2HGjD.shtml

相关文章

(数字图像处理MATLAB+Python)第五章图像增强-第一节:图像增强概述和基于灰度级变换的图像增强

文章目录 一&#xff1a;图像增强概述二&#xff1a;基于灰度级变换的图像增强&#xff08;1&#xff09;线性灰度级变换A&#xff1a;基本线性灰度级变换B&#xff1a;分段线性灰度级变换①&#xff1a;定义②&#xff1a;截取式灰度变换③&#xff1a;窗切片 &#xff08;2&a…

图像处理:灰度(级)和分辨率

1、像素点 ​像素点是最小的图像单元&#xff0c;一张图片由好多的像素点组成。如下图 可以看到上述图片尺寸是500 * 338 的&#xff0c;表示图片是由一个500 * 338的像素点矩阵构成的&#xff0c;这张图片的宽度是500个像素点的长度&#xff0c;高度是338个像素点的长度&…

数字图像处理——灰度级分层

灰度级分层的两种基本形式如下&#xff1a; 一&#xff1a;将感兴趣的范围内的灰度值显示为一个值&#xff0c;而其他灰度值显示为另一个值 二&#xff1a;将感兴趣的范围内的灰度值变亮或变暗&#xff0c;而其他灰度值保持不变 Python实现过程如下&#xff1a; 使用的图像…

灰度级形态学 - 顶帽变换和底帽变换

目录 1. 介绍 2. 代码实现 1. 介绍 顶帽变换和底帽变换就是图像的加减和开闭运算的结合 顶帽变换的公式为&#xff1a;原图 - 原图的开运算 这里结合开运算的几何图形解释来介绍顶帽变换。 因为开运算是结构元从下往上推动的过程&#xff0c;所以会删除图像灰度值相对周围高…

图像处理基础——灰度级形态学

文章目录 简介膨胀 腐蚀腐蚀膨胀 开运算 闭运算一些基本的灰度级形态学算法形态学平滑形态学梯度顶帽变换 底帽变换 灰度级形态学重建 简介 形态学只适用于Region操作 或者是二值化后的图片 需要延伸到灰度形态学才能广泛应用 拓展到灰度级形态学后 结构元的表达形式可以大致分…

灰度图像分辨率变换(灰度级)

目的&#xff1a;&#xff08;1&#xff09;对一帧8bits 128x128的灰度图像处理为1bits和3bits的128x128灰度图像。 &#xff08;2&#xff09;处理为8bits 64x64和32x32的灰度图像。 一、基本原理 一幅图像的x和y坐标及幅度可能都是连续的。为了把它转换为数字形式&#x…

matlab-图形采样及灰度级转换

目录 一、图像采样 1、实验内容 2、采样原理 3、实验程序 4&#xff0e;实验结果与分析 5&#xff0e;思考题 二、图像类型转换 1、实验内容 2&#xff0e;实验原理 3、程序 4&#xff0e;实验结果与分析 5. 思考题 一、图像采样 1、实验内容 试对任意一幅图像分…

灰度级形态学

灰度级形态学 灰度级形态学知识点&#xff1a;1、灰度化和二值化2、灰度图像是几通道图像3、灰度图和二值图的区别&#xff1a;4、像素点灰度形态学梯度 形态学只适用于区域操作 或者是二值化后的图片. 灰度级形态学知识点&#xff1a; 在图像处理中&#xff0c;用RGB三个分量&…

灰度、灰度级、分辨率、像素值相关概念

灰度、灰度级、分辨率、像素值&#xff1b; 2017年09月18日 20:01:04 以梦为马_不负韶华 阅读数&#xff1a;14346 版权声明&#xff1a;版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/Strive_0902/article/details/78023…

转换为不同灰度级图像

将256级灰度图像转换为64级灰度图像、32级灰度图像等。 matlab代码: I imread(cameraman.tif); [m,n]size(I); Jzeros(m,n); for i1:mfor j1:nJ(i,j)floor(I(i,j)/32);end end Kuint8(J); subplot(131) imshow(I);title(原图);colorbar subplot(132) imshow(K,[0,7]);title(…

OpenCV黑白图像增强——灰度级切片

前言 在OpenCV中&#xff0c;在Mat中&#xff0c;表达图像的值是0到255&#xff0c;0为黑色&#xff0c;255为白色&#xff0c;而已灰度级切片对灰度图像做二值映射讲处理&#xff0c;给一个阈值&#xff0c;按这个阈值去分层&#xff0c;大于这个阈的赋一个值&#xff0c;小于…

数字图像处理学习笔记(二):图像灰度级的增加、减少

实验截图&#xff1a; 图像灰度级阶梯 实验代码&#xff1a; img1 imread(erciyuan.jpg); img2 rgb2gray(img1); for i0:7 img (uint8(img2/(2^i)))*(2^i); %灰度级逐渐递减的过程 subplot(2,4,i1), imshow(img,[]); title( [ ,num2str(2^(8-i)),级灰度图像]); %设置…

灰度级形态学 - 灰度膨胀和灰度腐蚀

目录 1. 介绍 2. code 1. 介绍 灰度级形态学将形态学在二值图像的处理中扩展到灰度图像 灰度腐蚀&#xff1a;得到kernel 处理子区域的最小值 因此&#xff1a;灰度腐蚀后的图像整体偏暗&#xff0c;并且亮特征减少 灰度膨胀&#xff1a;得到kernel 处理子区域的最大值 同…

图像处理名词解释之灰度、灰度级、分辨率、像素值总结

​ 1、像素点 ​像素点是最小的图像单元&#xff0c;一张图片由好多的像素点组成。如下图 可以看到上述图片尺寸是500 * 338 的&#xff0c;表示图片是由一个500 * 338的像素点矩阵构成的&#xff0c;这张图片的宽度是500个像素点的长度&#xff0c;高度是338个像素点的长度&am…

不同灰度级的图像

学习DIP第0天 更多细节参考&#xff1a;http://face2ai.com/DIP-1-1-不同灰度级的图像/ 结论一&#xff1a;对于细节较多的图像&#xff0c;当图像大小&#xff08;N&#xff09;不变的情况下&#xff0c;灰度级别对于感官质量相对独立&#xff1b; 解释&#xff1a;如果图像…

【OpenCV 例程200篇】41. 图像的灰度变换(灰度级分层)

『youcans 的 OpenCV 例程200篇 - 总目录』 【OpenCV 例程200篇】41. 图像的灰度变换&#xff08;灰度级分层&#xff09; 线性灰度变换将原始图像灰度值的动态范围按线性关系扩展到指定范围或整个动态范围。 分段线性变换函数可以增强图像各部分的反差&#xff0c;增强感兴趣…

图像灰度级压缩

遥感图像灰度级压缩 在使用灰度共生矩阵计算图像纹理的时候,考虑到计算效率,需要对图像先进行灰度级压缩的操作,比较简单的方法是直接除以前后灰度级的倍数,结果发现这样处理效果不好,原因是影像的直方图分布可能极其不均匀,导致压缩后的图像像素值都集中在最小值周围。…

RGB图像之灰度级和通道的理解(矩阵含义等)

一言以敝之&#xff1a;图像有R&#xff0c;G&#xff0c;B三个二维矩阵&#xff0c;矩阵数值在0-255之间&#xff0c;数值大小表示允许通过色彩多少&#xff0c;也称为灰度值&#xff0c;灰度越大&#xff0c;相应色彩越深&#xff08;此处为光&#xff0c;故R&#xff0c;G&a…

灰度、灰度级、分辨率、像素值 概念解析

​1、像素点 像素点是最小的图像单元&#xff0c;一张图片由好多的像素点组成。如下图 可以看到上述图片尺寸是500 * 338 的&#xff0c;表示图片是由一个500 * 338的像素点矩阵构成的&#xff0c;这张图片的宽度是500个像素点的长度&#xff0c;高度是338个像素点的长度&#…

灰度、灰度级、分辨率、像素值;

​1、像素点 像素点是最小的图像单元&#xff0c;一张图片由好多的像素点组成。如下图 可以看到上述图片尺寸是500 * 338 的&#xff0c;表示图片是由一个500 * 338的像素点矩阵构成的&#xff0c;这张图片的宽度是500个像素点的长度&#xff0c;高度是338个像素点的长度&…