图像处理与分析课程报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像处理与分析

课程报告

目录

一、简单变换 (3)

1、需求分析: (3)

2、程序设计: (3)

2.1、算法基本思想 (3)

2.2、算法流程图 (4)

3、算法主要代码分析 (4)

3.1、平移变换 (4)

3.2、放缩变换 (4)

4、结果展示: (5)

4.1、平移变换 (5)

4.2、放缩变换 (6)

二、典型灰度映射 (6)

1、需求分析: (6)

2、程序设计: (7)

2.1、算法基本思想 (7)

2.2、算法流程图 (8)

3、算法主要代码分析 (9)

3.1、图像求反 (9)

3.2、增强对比度 (9)

3.3、动态范围压缩 (9)

3.4、灰度切分 (10)

4、结果展示: (10)

4.1、图像求反 (10)

4.2、增强对比度 (11)

4.3、动态范围压缩 (11)

4.4、灰度切分 (12)

三、图像的平滑与锐化 (12)

1、需求分析 (12)

2、程序设计 (12)

2.1、主要算法基本思想 (12)

2.2、流程图 (13)

2.3、算法的详细说明 (13)

3、主要的实现代码 (14)

4、结果展示 (16)

四、用户手册 (20)

五、参考文献 (20)

六、心得体会 (20)

一、简单变换

1、需求分析:

基本几何变换的定义:

对于原图象f(x,y),坐标变换函数x’ = a(x,y); y’ = b(x,y)

唯一确定了几何变换:g(x’,y’) = f(a(x,y), b(x,y)),其中g(x,y)是目标图象。

图像的平移和放缩变换都是常见的图像坐标变换。空间中一个点的坐标可记为(x,y,z),如用齐次坐标,则记为(x,y,z,1)。他们也可以用矢量来表达。

2、程序设计:

2.1、算法基本思想

2.1.1、平移变换

设需要平移量(x0,y0)将具有坐标(x,y)的点平移到新的位置(x2,y2)

设: a(x,y) = x + x0; b(x,y) = y + y0;

用齐次矩阵表示:

a(x,y) 1 0 x0 x

b(x,y) = 0 1 y0 y

1 0 0 1 1

2.1.2、放缩变换

放缩变换改变点间的距离,对物体来说则改变了物体的尺度,所以放缩变换也称为尺度变换,放缩变换一般是沿坐标方向进行的,或可分解为沿坐标轴方向进行的变换。

当分别用设: a(x,y) = x*c; b(x,y) = y*d;沿x,y轴进行放缩变换时,放缩变换矩阵可写为:

a(x,y) c 0 0 x

b(x,y) = 0 d 0 y

1 0 0 1 1

2.2、算法流程图

3、算法主要代码分析

3.1、平移变换

//弹出对话框

Input_Move dlg;

dlg.DoModal();

UpdateData(true);

//将用户输入的数据进行平移变换

mdr->write_video(image_wid+dlg.level, dlg.vertical, image_wid, image_hei, image);

mdr->swap();

3.2、放缩变换

//弹出对话框

SHRINK change;

change.DoModal();

UpdateData(true);

//对dx,dy进行放缩变换

int dx = image_wid * change.shrink, dy = image_hei * change.shrink;

UINT *buf;

if (image == NULL) return;

//创建动态数组

buf = new UINT[dx*dy];

//进行放缩变换

image_scale(image_wid, image_hei, image, dx, dy, buf);

//将图片读出

mdr->write_video(image_wid, 0, dx, dy, buf);

mdr->swap();

4、结果展示:

4.1、平移变换

4.2、放缩变换

二、典型灰度映射

1、需求分析:

图像是由像素组成的,其视觉效果与每个像素的灰度相关。如果能改变所有或部分像素的灰度,就可以改变图像的视觉效果。直接灰度映射是一种点操作,即根据原始图像中每个像素的灰度值,按照某种映射规则,将其转化为另一灰度值。这样通过对原始图像中每一个像素赋一个新的灰度值来达到增强图像的目的。

2、程序设计:

2.1、算法基本思想

2.1.1、图像求反

对图像求反是将原图灰度值翻转,简单来说就是使黑变白,使白变黑。将图像中每个像素的灰度值根据变换曲线进行映射。映射是一一对应的,所以只要读出原灰度值,变换后得到新灰度值,并赋给原像素。

2.1.2、增强对比度

增强对比度实际上是增强原图的各部分反差。实际中往往通过增加原图里某两个灰度值间的动态范围来实现,s1,s2,t1,t2可取不同的值进行组合,从而得到不同的效果,如果s1=s2,t1=0,t2=L-1,则增强图只剩下两个灰度级,对比度最大但细节全丢失。

相关文档
最新文档