第三讲 图象基本运算与灰度映射变换
- 格式:ppt
- 大小:2.48 MB
- 文档页数:47
基本的灰度变换最近在学习数字图像处理,更新⼀些基础知识,并使⽤opencv和C++做复现。
基本的灰度变化就是对图像像素点做运算,使其满⾜我们的需求。
⼏种基本的灰度变换,像素点对应情况如下图所⽰:1、图像反转若原图像灰度量级【0-L-1】,则现图像每个像素点灰度为x,变化后为L-1-X。
总体变换效果就是暗的变亮,量的变暗。
1void reverse(Mat src1)2 {3 Mat src(src1.size(), CV_8UC1);4 cvtColor(src1, src, CV_RGB2GRAY);5 Mat deimage(src.size(), CV_8UC1);6int IMGH = src.rows;7int IMGW = src.cols;8 uchar* p = src.data;9 uchar* pd = deimage.data;10int step = src.step;11for (int i = 0; i < IMGH; i++)12 {13for (int j = 0; j < IMGW; j++)14 {15 pd[i*step + j] = 255 - p[i*step + j];16 }17 }18 imshow("原图", src);19 imwrite("原图.jpg", src);20 imwrite("变换后图.jpg", deimage);21 imshow("变换后图", deimage);22 waitKey(0);23 }效果展⽰:2、对数变换即将像素值变为对数形式。
由于对数函数的特点,该变换将较暗区域的像素值映射到较量区域,增加整体图像亮度。
1void logtrans(Mat src)2 {3float hist[256];4for (int i = 0; i < 256; i++)5 {6 hist[i] = log(1+i);7 }8 Mat graysrc;9 cvtColor(src, graysrc, CV_RGB2GRAY);10 Mat yimage(graysrc.size(), CV_32FC1);11for (int i = 0; i < src.rows; i++)12 {13for (int j = 0; j < src.cols; j++)14 {15 yimage.at<float>(i, j) = hist[graysrc.at<uchar>(i, j)];16 }17 }18 Mat dst(graysrc.size(), CV_8UC1);19 normalize(yimage, dst, 0, 255, NORM_MINMAX);20 convertScaleAbs(dst,dst);21 imshow("对数变换", dst);22 imwrite("对数变换.jpg", dst);23 waitKey(0);2425 }效果展⽰:3、幂律变换和对数变换相似,将像素变换为指数形式,公式为cr y。
第一章绪论1.模拟图像处理与数字图像处理主要区别表现在哪些方面?(什么是图像?什么是数字图像?什么是灰度图像?模拟图像处理与数字图像处理主要区别表现在哪些方面?)图像:是对客观对象的一种相似性的、生动性的描述或写真。
数字图像:一种空间坐标和灰度均不连续的、用离散数字(一般用整数)表示的图像。
灰度图像:在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。
在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。
模拟图像处理与数字图像处理主要区别:模拟图像处理是利用光学、照相方法对模拟图像的处理。
(优点:速度快,一般为实时处理,理论上讲可达到光的速度,并可同时并行处理。
缺点:精度较差,灵活性差,很难有判断能力和非线性处理能力)数字图像处理(称计算机图像处理,指将图像信号转换成数字格式并利用计算机对数据进行处理的过程)是利用计算机对数字图像进行系列操作,从而达到某种预期目的的技术.(优点:精度高,内容丰富,可进行复杂的非线性处理,灵活的变通能力,一只要改变软件就可以改变处理内容)2.图像处理学包括哪几个层次?各层次间有何区别和联系?数字图像处理可分为三个层次:狭义图像处理、图像分析和图像理解。
狭义图像处理是对输入图像进行某种变换得到输出图像,是一种图像到图像的过程。
图像分析主要是对图像中感兴趣的目标进行检测和测量,从而建立对图像目标的描述,图像分析是一个从图像到数值或符号的过程。
图像理解则是在图像分析的基础上,基于人工智能和认知理论研究图像中各目标的性质和它们之间的相互联系,对图像内容的含义加以理解以及对原来客观场景加以解译,从而指导和规划行动。
区别和联系:狭义图像处理是低层操作,它主要在图像像素级上进行处理,处理的数据量非常大;图像分析则进入了中层,经分割和特征提取,把原来以像素构成的图像转变成比较简洁的、非图像形式的描述;图像理解是高层操作,它是对描述中抽象出来的符号进行推理,其处理过程和方法与人类的思维推理有许多类似之处。
灰度变换的基本原理灰度变换是数字图像处理中一种常见的操作技术,它通过改变图像中每个像素的亮度值,从而实现图像的增强或调整。
灰度变换的基本原理是将原始图像的灰度级映射到一个新的灰度级,使得图像的视觉效果更加理想。
在进行灰度变换之前,我们需要了解一些基本概念。
首先,灰度级是指图像中每个像素的亮度值,通常用0到255的整数表示,其中0代表黑色,255代表白色。
其次,灰度变换函数是将原始图像的灰度级映射到新的灰度级的函数,它决定了图像的最终效果。
常用的灰度变换函数包括线性变换、对数变换、幂律变换等。
线性变换是最简单的一种灰度变换方法,它通过一条直线的斜率和截距来调整图像的亮度。
对数变换和幂律变换则是非线性变换方法,它们通过对原始图像的灰度级取对数或幂次来改变图像的亮度分布。
灰度变换的具体步骤如下:首先,读入原始图像,并将其转换为灰度图像。
然后,选择合适的灰度变换函数,并根据函数的定义计算每个像素的新灰度级。
最后,将新的灰度级赋值给每个像素,并生成处理后的图像。
灰度变换在图像处理中有着广泛的应用。
首先,它可以用于图像增强,即通过调整图像的亮度和对比度,使图像更加清晰和鲜明。
其次,灰度变换可以用于图像的调整和校正,例如校正图像的曝光不足或过度曝光的问题。
此外,灰度变换还可以用于图像的压缩和编码,从而减少图像的存储空间和传输带宽。
灰度变换虽然简单,但在实际应用中需要根据具体情况选择合适的变换函数和参数。
例如,在图像增强中,可以根据图像的亮度分布选择线性变换、对数变换或幂律变换。
对于高动态范围图像,可以采用自适应灰度变换方法,根据图像的局部特征进行变换。
需要注意的是,灰度变换可能会引入一些副作用,例如图像的噪声会被放大,导致图像质量的下降。
因此,在进行灰度变换时,需要考虑图像的特点和应用需求,避免不必要的变换和误操作。
灰度变换是数字图像处理中一种重要的操作技术,它通过改变图像的灰度级来实现图像的增强和调整。
灰度变换的基本原理是将原始图像的灰度级映射到一个新的灰度级,从而改变图像的亮度分布和视觉效果。
图像增强中灰度变换1、理论原理灰度变换方法是图像增强的重要手段,它使图像的动态范围加大,使图像的对比度扩展,图像更加清晰,特征更加明显。
简单的说,灰度变换就是指对图像上各个像素点的灰度值x 按某函数T(x)变换到v 。
例如为了提高图像的清晰度,需要将图像的灰度级整个范围或其中某一段(A ,B)扩展或压缩到(A+,B*);需要显示出图像的细节部分等都要求采用灰度变换方法。
灰度变换有时又被称为图像的对比度增强。
假定输入图像中的一个像素的灰度级为z ,经过T(Z)函数变换后输出图像对应的灰度级为z+,其中要求z 和z*都要在图像的灰度范围之内。
根据T(x)形式,可以将灰度变换分为线性变换和非线性变换。
此外,直方图均衡化方法也是很好的图像增强方法之一。
具体应用中采用何种T(x),需要根据变换的要求而定。
1.1线性灰度变换1)目的:为了突出感兴趣的目标或灰度区间,相对抑制那些不感兴趣的灰度区间,可以采用分段线性变换。
2)数学表达式 图5-9[]⎪⎩⎪⎨⎧≤≤+---≤≤+---≤≤=f f g M y x f b d b y x f b M d M b y x f a c a y x f a b c d a y x f y x f a c y x g ),(]),(][)()([),(),(])()([),(0),()(),(调整折线拐点的位置及控制分段直线的斜率,可对(从而)任意灰度区间进行扩展或压缩。
图5-9 分段线性变换关系1.2 灰度非线性变换(1) 对数变换f f (x, y ) Mg g (x , y )1)cb y x f a y x g ln ]1),(ln[),(++= a 、b 、c 作用:调整曲线的位置和形状 图5-17图5-17 图像的对数变换关系2)效果:低灰度范围扩展 高灰度范围压缩,使图像分布均匀,与视觉特性相匹配(2) 指数变换1)1),(]),([-=-a y x f c b y x ga 、b 、c 作用:调整曲线的位置和形状2)效果 高灰度范围扩展2、实验1线性灰度变换方法给定图像”6.jpg ”,采用MATLAB 编程,对其进行线性对比度展宽处理。
灰度变换算法原理
灰度变换算法是一种像素值映射的算法,它可以通过对图像的像素值进行线性或非线性变换来改变图像的对比度、亮度、色调等特征,以达到增强图像的目的。
具体来说,灰度变换算法的原理如下:
1. 像素值的定义:对于灰度图像,每个像素的取值范围在0-255之间,其中0表示黑色,255表示白色,其他值则表示不同的灰度级别。
2. 灰度变换函数的选择:灰度变换函数(也称为灰度映射函数)可以是线性函数、非线性函数、对数函数等。
根据需要调整图像的对比度、亮度等特征,可以选择不同的灰度变换函数。
3. 灰度变换的实现:将灰度变换函数应用到图像的每个像素上,计算出新的像素值,从而得到一张新的图像。
这样的变换可以在空间域或频域中进行。
总之,灰度变换算法通过对图像的像素值进行变换,可以有效地增强图像的质量和特征,提高图像信息的可读性和可用性。
灰度变换算法原理
灰度变换是一种将图像的灰度级进行适当调整的方法,可以改善图像的对比度和亮度。
灰度变换的基本原理是将输入图像的每个像素点的灰度级通过某种函数进行映射转换,并得到输出图像的像素灰度级。
常用的灰度变换函数有线性变换、非线性变换和直方图均衡化等。
1. 线性变换:
线性变换是灰度变换中最简单的一种方法。
它通过一个线性函数将输入图像的灰度级映射到输出图像的灰度级。
线性变换的数学表达式为:
g(x,y) = a*f(x,y) + b
其中,g(x,y)为输出图像的像素灰度级,f(x,y)为输入图像的像素灰度级,a和b为常数。
2. 非线性变换:
非线性变换是通过非线性函数将输入图像的灰度级映射到输出图像的灰度级。
非线性变换可以对输入图像的不同灰度级进行不同的映射处理,从而调整图像的对比度和亮度。
常用的非线性变换函数有幂次变换、对数变换和指数变换等。
3. 直方图均衡化:
直方图均衡化是一种通过对输入图像的直方图进行变换,从而使得输出图像具有更均匀的灰度分布的方法。
通过直方图均衡化,可以增强图像的对比度,使得图像中细节更加清晰。
直方图均衡化的基本原理是将输入图像的累计分布函数映射到均匀
分布,使得输出图像的直方图近似均匀。
总结起来,灰度变换算法原理是通过对输入图像的灰度级进行适当调整,使用线性变换、非线性变换,或者直方图均衡化等方法,从而改变输出图像的灰度级,达到调整图像对比度和亮度的目的。
图像的基本运算图像的基本运算包括以下几类:图像的点运算;图像的代数运算;图像的几何运算;图像的逻辑运算和图像的插值。
下面将依次介绍这几种运算。
一、点运算点运算是指对一幅图像中每个像素点的灰度值进行计算的方法。
点运算通过对图像中每个像素值进行计算,改善图像显示效果的操作,也称对比度增强,对比度拉伸,灰度变换,可以表示为B(x,y)=f(A(x,y))。
这是一种像素的逐点运算,是原始图像与目标图像之间的映射关系,不改变图像像素的空间关系。
可以提高图像的对比度,增加轮廓线等。
可分为:(1)线性点运算:输出灰度级与输入灰度级之间呈线性关系。
(2)非线性点运算:输出灰度级与输入灰度级之间呈非线性关系。
二、代数运算代数运算是指将两幅或多幅图像通过对应像素之间的加、减、乘、除运算得到输出图像的方法。
对于相加和相乘的情形,可能不止有两幅图像参加运算。
如果记A(x,y)和B(x,y)为输入图像,C(x,y)为输出图像。
那么,四种代数运算的数学表达式如下:(1)C(x,y)=A(x,y)+B(x,y)加法运算可以实现以下两个目的:1.1去除叠加性随机噪声;1.2生成图像叠加效果。
(2)C(x,y)=A(x,y)-B(x,y)减法运算可以实现以下两个目的:2.1消除背景影响;2.2检查同一场景两幅图像之间的变化。
(3)C(x,y)=A(x,y)*B(x,y)乘法运算可以实现以下两个目的:3.1图像的局部显示;3.2图像的局部增强。
(4)C(x,y)=A(x,y)/B(x,y)乘法运算可以实现以下三个目的:4.1遥感图像的处理中;4.2消除图像数字化设备随空间变化的影响。
4.3校正成像设备的非线性影响。
还可以通过适当的组合形成涉及几幅图像的复合代数运算。
三、几何运算几何运算就是改变图像中物体对象(像素)之间的空间关系。
从变换性质来分,几何变换可以分为图像的位置变换(平移、镜像、旋转)、形状变换(放大、缩小)以及图像的复合变换等。