北工大c语言课设病毒图象识别实验报告

北工大c语言课设病毒图象识别实验报告

ID:11324284

大小:680.50 KB

页数:19页

时间:2018-07-11

北工大c语言课设病毒图象识别实验报告_第1页
北工大c语言课设病毒图象识别实验报告_第2页
北工大c语言课设病毒图象识别实验报告_第3页
北工大c语言课设病毒图象识别实验报告_第4页
北工大c语言课设病毒图象识别实验报告_第5页
资源描述:

《北工大c语言课设病毒图象识别实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、病毒图象识别实验报告一·实验内容;2二·实验目的;4三·实验要求;4四·算法分析;6五·源程序及注释;8六·流程图;14七·结果分析;15八·改进建议;18九·主要问题;19十·实验分工。1919病毒图象识别实验报告王丹阳小组一·实验内容;病理学实验室的技术人员需要分析幻灯片的数字图象。幻灯片上有许多要分析的目标,由鼠标单击确定一个目标。目标边界的周长是一个有用的测量参数。编程任务:确定选中目标的周长。数字化的幻灯片是一个矩形网格,里面有点“.”,表示空的地方,有大写字母“X”,表示目标的一部分。方格中的一个X是指一个完整的网格方形区域,包括其边界和目标本身。网格中心的X与其边界上8个

2、方向的X都是相邻的。任何两个相邻的X,其网格方形区域在边界或拐角处是重叠的,19所以它们的网格方形区域是相邻的。一个目标是由一系列相邻X的网格方形区域连接起来构成。在网格1中,一个目标填充了全部网络,在网格2中有两个目标,其中一个目标只占左下角的一个网格方形区域,其余的X属于另一个目标。技术人员总能单击一个X,以选中包含该X的目标,记录单击时的坐标。行列号是从左上角开始,从1开始编号的。网格1中,技术人员可单击行2和列2选择目标;在网格2中,单击行2和列3就可以选中较大的目标,单击行4列3就不能选中任何目标。一个有用的参数是目标的周长,假定每个X的每条边上有一个方形的单元。在网格1中目

3、标的周长是8,网格2中,较大目标的周长是18。目标不会包含任何完全封闭的孔,所以下图中最左边的网格不会出现,应该是右边的网格样式。19二·实验目的;(1)掌握c语言的基本编程技能,模块化编程思想,并初步学会在实际背景下灵活运用。(2)设计程序算出任意给定的病毒图像的周长。(3)在实践中检验c语言水平。三·实验要求;输入有多组网格,对每个网格,第一行是网格的行列数,鼠标单击的行列号,其整数范围都是1-20。接下来就是由字符“.”和“X”构成的图形。当一行有四个零时,标志输入结束。19一行中的4个数字之间各有一个空格,网格数据的行之间没有空行。输入:6423.XXX.XXX.XXX...X

4、..X.X...7726XXXXXXXXX...XXX..X..XX..X...X..X..XX.....XXXXXXXX774194XXXXXXXXX...XXX..X..XX..X...X..X..XX.....XXXXXXXX0000输出:对每个网格输出一行,是选中目标的周长。例如:18488四·算法分析;根据所给条件,很显然要用二维数组储存该病毒。在存储时可用一个变量key来标记该位置有没有病毒,为接下来的遍历提供判断条件。在储存函数中,只需用一个二重循环,不断从屏幕上获取字符,并按次序存到数组相应位置,并修改该位置的key值,即可解决存储问题。但是在实践中应注意回车符号对输入

5、的干扰,对回车符号应不储存。19解决存储问题后,接下来就要解决遍历问题。可先算出所有病毒元素的总周长数,之后按照一定的规则逐个遍历,并判断该病毒元素周围有没有其他病毒元素,并实现相关对总周长自减的操作。最终可实现总周长的计算。以上程序完成后,接下来要完成的问题就是病毒的识别,及寻找该病毒的所有病毒元素。本程序运用传函数解决病毒的识别问题。该函数可简单描述为:首先从鼠标选定的位置开始,把他的病毒元素识别值该外一个与其他识别值不同的值,之后判断其上下左右及斜对角八个方位是否有病毒元素,若有病毒元素,就要相应修改其病毒元素识别值(key)。按如此规则传下去,直到该病毒的所有病毒元素都被标记。

6、所有病毒元素都被标记后,便完成了病毒的识别。接下来的问题就是遍历。本程序用一个二重循环来按顺序不重复的遍历所有病毒元素。在遍历到某一位置时,首先运用病毒元素标记值判断该位置是否属于该病毒,若属于,在判断其上下左右是否有该病毒的其他病毒元素,并实现周长总数的自减操作。最后返回该周长值,让主函数按规则输出。在完成上述工作后,接着对用户交互界面进行优化,接下来就是在主函数设置大循环,来实现多个测试例的同时测试。之后该程序就完成了。19五·源程序及注释;/*病理图像识别*//*作者:王丹阳*/#include"stdio.h"#include"conio.h"typedefstruct{//病

7、理微元存储结构体intkey;//病理微元状态存储变量}ACM;inta;//病理图的长intb;//病理图的宽inth;//鼠标单机的横坐标值intn;//鼠标单击的纵坐标值main()//主函数{ACMacm[10][10];inti,k=0;intsum[10];//结果临时存储数组voidcunchu(ACMacm[10][10]);intbianli(ACMacm[10][10]);//函数声明19voidchuan(ACMacm[1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。