c#数字图像处理算法(最终版)

上传人:第*** 文档编号:53710397 上传时间:2018-09-04 格式:PPTX 页数:60 大小:3.53MB
返回 下载 相关 举报
c#数字图像处理算法(最终版)_第1页
第1页 / 共60页
c#数字图像处理算法(最终版)_第2页
第2页 / 共60页
c#数字图像处理算法(最终版)_第3页
第3页 / 共60页
c#数字图像处理算法(最终版)_第4页
第4页 / 共60页
c#数字图像处理算法(最终版)_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《c#数字图像处理算法(最终版)》由会员分享,可在线阅读,更多相关《c#数字图像处理算法(最终版)(60页珍藏版)》请在金锄头文库上搜索。

1、C#数字图像处理算法,计算方法组:CQ,DAD,CDH,XYQ,SXM,LJ,ZR,任务分工,目录,目录,一、图像的基本知识,一、图像的基本知识几个基本概念,像素(pixel),定义:像素(pixel),即图像元素(picture element),是图像 显示的基本单元。,像素点,像素越高,单位面积内的像素点越多,图像就能被真实的还原出来,清晰度越高。,一、图像的基本知识几个基本概念,分辨率,定义:用于衡量图像细节的能力。通常说的分辨率包含图像分辨率,显示器分辨率和打印机分辨率。,图像分辨率:指图像中存储的信息量,是每英寸图像内有多少个像素点,单位PPI(Pixels Per Inch)。

2、显示器分辨率:单位面积显示像素的个数。 打印机分辨率:打印机每英寸的油墨点数。,一、图像的基本知识几个基本概念,数字图像,定义:数字图像是图像的数字表示,像素是其最小的单元。,一、图像的基本知识图像的灰度化,定义:将彩色图像转化为灰度图像的过程称为图像的灰度化。即在RGB颜色模式中,设置R=G=B,且R=G=B的值叫做灰度值。,一、图像的基本知识图像的灰度化,定义:将彩色图像转化为灰度图像的过程称为图像的灰度化。即在RGB颜色模式中,设置R=G=B,且R=G=B的值叫做灰度值。,为什么要进行图像的灰度化呢?,1.为了得到灰色图片。,2.降低计算量。,一、图像的基本知识图像的灰度化,图像灰度化的

3、方法,最大值法:使R,G,B值等于3值中最大的一个。,R=G=B=max(R,G,B),平均值法:使R,G,B值等于R,G,B的平均值。,R=G=B=(R+G+B)/3,加权平均值法:根据重要性或其他指标给R,G,B赋予不同的权值,并使R,G,B加权平均。,R=G=B=WrR+WgG+WbB,一般取Wr=0.299,Wg=0.587,Wb=0.114,所以,R=G=B=0.299R+0.587G+0.114B,一、图像的基本知识图像的灰度化,灰度直方图,灰度直方图是灰度的函数,描述的是图像中具有该灰度级的像素的个数。如果用直角坐标系来表示,则它的横坐标是灰度级,纵坐标是该灰度出现的频数。,灰度

4、级,频数,一、图像的基本知识处理的方法和领域,Bitmap类,Bitmap类是用于处理由像素数据定义的图像的对象,继承自Image类。,常用属性,一、图像的基本知识处理的方法和领域,Bitmap类,常用方法,Public BitmapData LockBits(Rectangle rect,ImageLockMode flags,PixelFormat format),一、图像的基本知识处理的方法和领域,Bitmap类,一、图像的基本知识处理的方法和领域,BitmapData类,指定位图图像的特性。BitmapData类由Bitmap类的LockBits和UnlockBits方法使用,不可继承

5、。,一、图像的基本知识处理的方法和领域,图像处理的三种方法,提取像素法,利用Bitmap中的GetPixel和SetPixel方法分别获取和设置一个图像指定像素的颜色。,内存法,使用Bitmap类提供的LockBits和UnlockBits方法,分别锁定和解锁系统内存中的位图像素,消除了通过循环对位图像素逐个处理的需要,使程序的运行速度大大提高。,指针法,通过LockBits方法获取位图的首地址,直接应用指针对位图进行操作。,一、图像的基本知识处理的方法和领域,三种方法的比较,建议:初学者使用提取像素法,有一定编程能力者使用内存法,对C#指针有深入理解者用指针法。,一、图像的基本知识处理的方法

6、和领域,图像处理的两个领域,空间域,空间域指图像平面本身,由图像像元组成的空间,以对图像的像素直接处理为基础。,频率域,以空间频率(即波数)为自变量描述图像的特征,可以将一幅图像像元值在空间上的变化分解为具有不同振幅、空间频率和相位的减振函数的线性叠加。,目录,二、图像的几何运算,二、图像的几何运算平移,定义:图像平移就是使图像沿水平和垂直方向移动。,变换公式:,x=x+x0 y=y+y0,其中,(x,y)为原图像坐标,(x,y)为变换后的图像坐标。,二、图像的几何运算镜像,定义:镜像是一个物体相对于一个镜面的复制品。包括水平镜像和垂直镜像两种。,水平镜像,矩阵表达式:,其中,W为图像的宽度。

7、,二、图像的几何运算镜像,定义:镜像是一个物体相对于一个镜面的复制品。包括水平镜像和垂直镜像两种。,垂直镜像,矩阵表达式:,其中,H为图像的高度。,二、图像的几何运算缩放,将图像中的某点(x,y)经放大缩小后其位置变为(x,y),变换公式为:,矩阵表达式:,x=ax y=by,常用方法:最近邻插值法、双线性插值法,二、图像的几何运算缩放,最近邻插值法,令输出像素的灰度值等于离它所映射到的位置最近的输入像素的灰度值。,双线性插值法,求到相邻的4个方格上点的距离之比,用这个比率和4个临点像素的灰度值进行灰度差值。,对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),其中i,j

8、均为非负整数,p、q为0,1)区间的浮点数,则这个像素的值f(i+p,j+q)可由原图像中坐标(i,j)、 (i+1,j)、 (i,j+1) 、 (i+1,j+1)所对应周围的4个像素的值决定,即:,f(i+p,j+q)=(1-p)(1-q) f(i,j)+(1-p)qf(i,j+1)+p(1-q)f(i+1,j)+pqf(i+1,j+1),其中,f(i,j)表示源图像(i,j)处的像素值。,二、图像的几何运算旋转,如果平面内的点(x,y)绕原点逆时针旋转 ,则它的旋转公式为:,x=xcos-ysin y=xsin+ycos,逆变换公式为:,x=xcos+ysin y=-xsin+ycos,矩

9、阵表达式:,目录,三、图像的非几何运算,三、图像的非几何运算图像的调整,亮度/对比度,定义:点运算将输入图象映射为输出图象,当输出图象与输入图像呈线性关系时,就是线性点运算。,线性函数为:G(X,Y)=PF(X,Y)+L 其中G表示输出图像,F表示输入图像,P表示斜率,L表示偏移量,对于斜率P: 如果P1,图像的对比度增大 如果1P0,图像的对比度将减小 如果P=1,变化L的大小,图像会变亮或是变暗 如果P0,图像将取补,线性点运算,图像的色彩模式,定义:色彩模式是数字世界中表示颜色的一种算法,即用不同的算法来表示颜色。,分类:位图模式、灰度模式、RGB模式、CMYK模式、HSB模式、Lab模

10、式、索引模式、多通道模式、双色调模式等。,三、图像的非几何运算图像的调整,图像的色彩模式,位图模式,图像的每个像素只能是黑或者白,没有中间的过渡,故又称为2值图像。2值图像的像素值为0、1。,灰度模式,每个像素的信息由一个量化的灰度级来描述图像,没有彩色信息。,三、图像的非几何运算图像的调整,图像的色彩模式,RGB模式,每个像素的信息由RGB三原色组成,其中RGB由不同的灰度级来描述。,三、图像的非几何运算图像的调整,图像的色彩模式,RGB模式,每个像素的信息由RGB三原色组成,其中RGB由不同的灰度级来描述。,三、图像的非几何运算图像的调整,图像的色彩模式,RGB模式,每个像素的信息由RGB

11、三原色组成,其中RGB由不同的灰度级来描述。,对角线:,0,128,255,三、图像的非几何运算图像的调整,图像的色彩模式,CMYK模式,图像中每个像素由青(C)、洋红(M)、黄(Y)和黑(K)色按照不同的比例混合。运用在纸上沉积彩色颜料的设备,如彩色打印机和复印机。,三、图像的非几何运算图像的调整,图像的色彩模式,HSI模式,根据日常生活中人眼的视觉对色彩的观察指定的一套色彩模式。H表示色相,S表示饱和度,I表示明暗程度。,色调H由角度表示,它反映了颜色最接近什么样的光谱波长,即光的不同颜色。通常假定0表示的颜色为红色, 120的为绿色, 240的为蓝色。 从0到360的色相覆盖了所有可见光

12、谱的彩色。,饱和度S表征颜色的深浅程度,饱和度越高,颜色越深。饱和度参数是色环的原点(圆心)到彩色点的半径的长度。在环的边界上的颜色饱和度最高,其饱和度值为1;在中心的饱和度为0。,三、图像的非几何运算图像的调整,图像的色彩模式,HSI模式,根据日常生活中人眼的视觉对色彩的观察指定的一套色彩模式。H表示色相,S表示饱和度,I表示明暗程度。,亮度I是指光波作用于感受器所发生的效应,其大小由物体反射系数来决定,反射系数越大,物体的亮度愈大,反之愈小。如果把亮度作为色环的垂线,那么H、S、I构成一个柱形彩色空间。灰度阴影沿着轴线自下而上亮度逐渐增大,由底部的黑渐变成顶部的白。圆柱顶部的圆周上的颜色具

13、有最高亮度和最大饱和度。,三、图像的非几何运算图像的调整,HSI模型与RGB模型的转化,RGB模型到HSI模型,其中,,三、图像的非几何运算图像的调整,HSI模型与RGB模型的转化,HSI模型到RGB模型,三、图像的非几何运算图像的调整,三、图像的非几何运算图像的滤镜,负片,对每一个像素点的颜色取反,代码为:,grayValuesi = (byte)(255 -grayValuesi);,浮雕,对图像的每个像素点的像素值分别与相邻像素点的像素值相减后加上128,代码为:,temp = i * bmpData.Stride + j * 3; temRGB0 = Math.Abs(grayValu

14、estemp -grayValuestemp + 3 + 128); temRGB1 = Math.Abs(grayValuestemp+ 1 -grayValuestemp + 4 + 128); temRGB2 = Math.Abs(grayValuestemp + 2 -grayValuestemp + 5 + 128);,三、图像的非几何运算图像的滤镜,锐化,突出显示颜色值大(即形成边缘)的像素点,代码为:,int Laplacian = -1, -1, -1, -1, 9, -1, -1, -1, -1 ;,三、图像的非几何运算图像的滤镜,柔化,当前像素点与周围像素点的颜色差距较大时

15、取平均值,代码为:,int Gauss = 1, 2, 1, 2, 4, 2, 1, 2, 1 ;,三、图像的非几何运算图像的滤镜,/像素块大小 int dx = i + k % 19; int dy = j + k % 19; if (dx = bmpData.Width) dx = bmpData.Width - 1; if (dy = bmpData.Height) dy = bmpData.Height - 1;,雾化,在图像中引入一定的随机值,打乱图像中的像素值,代码为:,Random MyRandom = new Random(); k = MyRandom.Next(123456

16、);,tembmpj * bmpData.Stride + i * 3 = grayValuesdy*bmpData.Stride + dx * 3; tembmpj * bmpData.Stride + i * 3 + 1 = grayValuesdy*bmpData.Stride + dx * 3 + 1; tembmpj * bmpData.Stride + i * 3 + 2 = grayValuesdy*bmpData.Stride + dx * 3 + 2;,三、图像的非几何运算图像的滤镜,边缘检测,边缘检测(图a),层位追踪(图b),引入,三、图像的非几何运算图像的滤镜,边缘检测,等高线追踪(图c),引入,三、图像的非几何运算图像的滤镜,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号