- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lect07 数字图像处理[V3]
第7讲 数字图像处理
Digital Image Processing
2017年3月31日
学习内容
一、图像的基本知识
二、图像的几何运算
三、图像的特殊效果
四、异常处理
2
一、图像的基本知识
1. 基本概念
2. 图像处理常用类
3. 图像处理方法
3
像素:图像元素,是图像显示的基本单元
像素越高,单位面积内的像素点越多,图像就能被真实的还原出来,清晰度越高。
1. 基本概念
4
用于衡量图像细节的能力
图像分辨率:指图像中存储的信息量,是每英寸图像内有多少个像素点,单位PPI(Pixels Per Inch)
显示器分辨率:单位面积显示像素的个数
打印机分辨率:打印机每英寸的油墨点数
分辨率
--5--
像素与分辨率的关系?
像素和分辨率是成正比的,像素越大,分辨率也越高
课堂讨论
--6--
数字图像是图像的数字表示,像素是其最小的单元
数字图像
--7--
色彩模式是数字世界中表示颜色的一种算法,即用不同的算法来表示
颜色分类:位图模式、灰度模式、RGB模式、CMYK模式……
图像的色彩模式
--8--
将彩色图像转化为灰度图像的过程称为图像的灰度化。
灰度化的目的
为了得到灰色图片
降低计算量
图像的灰度化
--9--
设置R=G=B,且R=G=B的值叫做灰度值
图像灰度化常用方法?
最大值法:R=G=B=max(R,G,B)
平均值法:R=G=B=(R+G+B)/3
加权平均值法:R=G=B=WrR+WgG+WbB,一般取R=G=B=0.299R+0.587G+0.114B
图像灰度化的方法
--10--
灰度直方图是灰度的函数,描述的是图像中具有该灰度级的像素的个数
如果用直角坐标系来表示,则它的横坐标是灰度级,纵坐标是该灰度出现的频数
灰度直方图
--11--
Bitmap类:处理像素图像,继承自Image类
常用属性:
Height:图像高度
Width:图像宽度
常用方法:
GetPixel:获取指定像素的颜色
SetPixel:设置指定像素的颜色
RotateFlip:旋转、翻转图像
LockBits:将图像锁定到系统内存
UnlockBits:从系统内存中解锁此图像
2. 图像处理常用类
--12--
提取像素法:用GetPixel和SetPixel获取和设置像素
内存法:用LockBits和UnlockBits锁定和解锁系统内存中的位图像素,消除循环处理,使运行速度大大提高
指针法:过LockBits获取位图的首地址,直接应用指针对位图进行操作
3. 图像处理方法
--13--
难易程度
效率
安全性
提取像素法
易
低
安全
内存法
难
高
安全
指针法
一般
很高
不安全
空间域:指图像平面本身,由图像像元组成的空间,以对图像的像素直接处理为基础
频率域:以空间频率(即波数)为自变量描述图像的特征,可以将一幅图像像元值在空间上的变化分解为具有不同振幅、空间频率和相位的减振函数的线性叠加
图像处理的两个领域
--14--
二、图像的几何运算
加载图形
图像缩放
图像旋转
--15--
图像文件:存储位图的磁盘文件
GDI+支持BMP、GIF、JPEG、TIFF等文件格式。
例:加载图像并显示
Graphics?g?=?pictureBox1.CreateGraphics();
Bitmap?bmp?=?new?Bitmap(obama.jpg);
g.DrawImage(bmp,?new?PointF(0,?0));
1. 加载图形
--16--
将图像中某点经放大缩小后其位置变为
x’=ax y’=by
var?rect?=?new?Rectangle();
rect.Height?=?bmp.Height?*?2;
rect.Width?=?bmp.Width?*?2;
g.DrawImage(bmp,rect);
2. 图像的缩放
--17--
g.FillRectangle(Brushes.White,?this.ClientRectangle); ?
?Point[]?points?=?{
???new?Point(bmp.Height,?0),?//原左上角点
?new?Point(bmp.Height,bmp.Width),//原右上角点
???new?Point(0,?0)};?//?原左下角点
g.DrawImage(bmp, points);
3. 图像旋转
--18--
用椭圆形截取原图像的一部分进行显示
this.Refresh(); ?
TextureBrush?brush?=?new?TextureBrush(bmp);
g.FillEllipse(brush,?this.ClientRecta
文档评论(0)