应用软件开发实践实验报告

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

武汉工业学院数学与计算机学院

应用软件开发实践

实验报告

实训目的

(1)利用VC 设计并实现一个简单的系统,学习与体会开发一个实际工程项目所经历的步骤。

(2)学习建立一个工程项目(Project )的操作过程,学习编写与调试程序的基本方法。 (3)学习项目中采用知识点及相关算法,并且编程实现这些算法。

项目整体描述

系统整体框架

分功能描述

素描特效处理

素描,就是用木炭、铅笔、钢笔等工具,通过线条来画出物象明暗的单色画。

处理步骤如图

特效处理

素描特效处理 浮雕特效处理

朦胧特效处理

水墨画特效处理

建 立 灰度 图像

求梯度 处理 动感线条 合成素描图

图像拉伸 左光源照明 上光源照明

斜射光源照明

常规计算 法

快速计算法

一键完成水墨画

图层1 灰度图像 原彩色

图像 图层2 梯度图像 图层3 模糊图像 图层4 动感线条图像

图层5 素描图像

∑ 叠加

用到的函数

1 建立灰度图像: void CMyappView::OnGay() 点击菜单项 朦胧特效处理\图像拉伸 函数将运行。

2.触发所有视图类的UpDate ()函数: void CMyappView::OnShowColoe() 点击菜单项 显示原图 函数将运行。

3 显示图层:void CMyappView::OnShowL1() ;void CMyappView::OnShowL2() ;void CMyappView::OnShowL3() ;void CMyappView::OnShowL4() ;void CMyappView::OnShowL5() ;点击菜单项 显示图层1(2、3、4、5)函数将运行。

4 求梯度:void CMyappView::OnGetGrads() 点击菜单项 朦胧特效处理\求梯度 函数将运行。

5 模糊图像:void CMyappView::OnBlurry() 点击菜单项 朦胧特效处理\模糊图像 函数将运行。

6 生成动感线条:void CMyappView::OnInnervation() 点击菜单项 朦胧特效处理\生成动感线条 函数将运行。

7 合成素描图像:void CMyappView::OnSynthesize() 点击菜单项 朦胧特效处理\合成素描图像 函数将运行。

浮雕特效处理

浮雕画能表现出平面雕刻图案的效果,具有立体感。浮雕图像是一种表现力沧桑、庄重的绘画手法。将数码相机拍摄的图像处理成为浮雕效果,具有很强的实用性。

处理步骤如图

用到的函数

1 图像拉伸:void CMyappView::OnStretch() 点击菜单项 朦胧特效处理\图像拉伸 函数将运行。

2 左光源照明:void CMyappView::OnLeftLighting() 点击菜单项 朦胧特效处理\左光源照明函数将运行。

3 上光源照明:void CMyappView::OnUpLighting() 点击菜单项 朦胧特效处理\上光源照明 函数将运行。

4 斜射光源照明:void CMyappView::OnTitleLighting() 点击菜单项 朦胧特效处理\斜射光源照明 函数将运行。

5 一键完成:void CMyappView::OnRilievoOK() 点击菜单项 朦胧特效处理\一键完成 函数将运行。

朦胧柔化处理

图层1 灰度图像

原彩色

图像 图层2 图像拉伸

图层3

左光源浮雕图像

图层4

上光源浮雕图像 图层5

斜射光源浮雕图像

朦胧柔化处理的数学原理很简单,就是对图像进行低通滤波,去掉高频成分,使图

像变得模糊。低通截止频率越低,图像越模糊。

图像滤波的方法有空间域滤波和频率域滤波。本章将采用一种最简单的空域滤波方法——均值滤波。为了达到较强的朦胧效果,应选用很大的邻域,例如25×25邻域。邻域越大,计算越是耗时。设图像的大小为1280×960像素,对每一个像素的3个基色均要进行25×25邻域的均值滤波,则要做的加法次数为1280×960×3×25×25=2.304×109次、除法为1280×960×3=3.6864×106次。用现行PC 计算,耗时达到几秒。 均值滤波的常规算法

我们要实现的是对彩色图像的朦胧处理,因此要分别对三个基色分量进行均值滤波。在以下程序中,原彩色图像存于C3中,对C3中的红色分量作均值滤波,存于B2中;对C3中的绿色分量作均值滤波,存于C2中;对C3中的蓝色分量作均值滤波,存于D2中。 函数表示为:void CMyappView::OnChanggui() 点击菜单项 朦胧特效处理\常规计算,该函数将运行。

均值滤波的快速算法

常规算法的计算两很大,耗时达到几秒。分析可知,计算中含有大量的重复。图4.2表示避免重复的算法。图中表示的为9×9邻域均值滤波。

(a )红点的均值滤波 (b )蓝点的均值滤波

图4.1 快速均值滤波算法示意图

计算每行的开头一个滤波值时,如图4.1(a )中的红点,必须按常规算法计算,并将邻域中的所有像素点之和S 保存好,以备计算下一个相邻的点时利用。图4.2(b )是计算下一个相邻的点(蓝点)的示意图,从S 中减去所有灰色点的值,加上所有绿色点之值,即为蓝色点的邻域中的所有像素点之和。函数表示为:void CMyappView::OnKuaisu() 点击菜单项 朦胧特效处理\快速计算,函数将运行。

水墨画特效处理

水墨画是一种用毛笔和墨水在宣纸上绘制的图画,特别适用于表现自然景色,如山

水林木等。

生成水墨画的操作过程如图

图层1 灰度图像

原彩色图

像 图层2 边缘图像

图层3 边缘柔化图像

Σ

水墨画 图像

相关文档
最新文档