中值滤波跟均值滤波

上传人:ali****an 文档编号:112815167 上传时间:2019-11-07 格式:DOCX 页数:8 大小:129.01KB
返回 下载 相关 举报
中值滤波跟均值滤波_第1页
第1页 / 共8页
中值滤波跟均值滤波_第2页
第2页 / 共8页
中值滤波跟均值滤波_第3页
第3页 / 共8页
中值滤波跟均值滤波_第4页
第4页 / 共8页
中值滤波跟均值滤波_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《中值滤波跟均值滤波》由会员分享,可在线阅读,更多相关《中值滤波跟均值滤波(8页珍藏版)》请在金锄头文库上搜索。

1、四川大学电气信息学院微机原理与接口技术实验报告实验名称: 中值滤波与均值滤波 实验地点: 二基楼A514 年 级: 2014级 姓 名: 宋雅婕 学 号: 2014141443030 实验时间:2016年5月27日一、 实验内容1. 在数据段设变量数组TADA1和TADA2,并存入假设的两组采样值作为某一采样周期的采样值。 设计中值滤波程序求出测量值。 设计均值滤波程序求出测量值。 每个程序应能将结果显示在屏幕上。 在计算机上调试程序,并获得正确结果。二、 程序框图1. 均值滤波: 开始 用冒泡法将数据从小到大排列删除最大值和最小值剩余数值求和取平均值结果输出在屏幕上结束2. 中值滤波:开始

2、用冒泡法将数据从小到大排列取出位于中间位置的值结果输出在屏幕上结束三、 程序清单1、 中值滤波: DATAS SEGMENT TADA1 DB 65,72,33,84,43 N EQU $-TADA1DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX ;给DS段赋值 MOV CX,N-1 ;设置N-1轮比较次数 MOV DX,1 ;设置比较的轮次 AG: CALL MP ;调用子程序 INC DX LOOP AG MOV SI,0XOR AX,AX ;将AX清零 MOV AL,TADA1SI

3、+(N-1)/2 ;取出中值 MOV BL,10DIV BLPUSH AXADD AL,30HMOV DL,AL MOV AH,2 INT 21H ;输出十进制数的高位POP AXADD AH,30HMOV DL,AHMOV AH,2 INT 21H ;输出十进制数的低位 MOV AH,4CH INT 21HMP PROC ;冒泡法(从小到大排列) PUSH CX MOV CX,N SUB CX,DX MOV SI,0RECMP: MOV AL,TADA1SI CMP AL,TADA1SI+1 ;比较相邻两数据的大小 JLE L1 ;若前者小于等于后者,跳转到L1 XCHG AL,TADA1S

4、I+1 ;若前者大于后者,则两者交换 XCHG AL,TADA1SIL1: INC SI LOOP RECMP POP CX RETMP ENDPCODES ENDSEND START2、 均值滤波:(1)置入数据: DATAS SEGMENT TADA2 DB 65,72,33,84,43 N EQU $-TADA2DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX ;给DS段赋值 MOV CX,N-1 ;设置N-1轮比较次数 MOV DX,1 ;设置比较的轮次 AG: CALL MP ;

5、调用子程序 INC DX LOOP AG MOV SI,0 AND TADA2SI,0 ;将最小值清零 AND TADA2SI+N-1,0 ;将最大值清零 MOV CX,N MOV AL,TADA2SI MOV AH,0 MOV BL,N-2SUM: ADD AL,TADA2SI+1 ;剩余数据求和 INC SI LOOP SUM DIV BL ;求平均值 MOV BL,10 DIV BL PUSH AXADD AL,30HMOV DL,AL MOV AH,2 INT 21H ;输出十进制数的高位POP AXADD AH,30HMOV DL,AHMOV AH,2 INT 21H ;输出十进制数

6、的低位 MOV AH,4CH INT 21HMP PROC ;冒泡法(从小到大排列) PUSH CX MOV CX,N SUB CX,DX MOV SI,0RECMP: MOV AL,TADA2SI CMP AL,TADA2SI+1 ;比较相邻两数据的大小 JLE L1 ;若前者小于等于后者,跳转到L1 XCHG AL,TADA2SI+1 ;若前者大于后者,则两者交换 XCHG AL,TADA2SIL1: INC SI LOOP RECMP POP CX RETMP ENDPCODES ENDSEND START(2)键入数据: DATAS SEGMENT D1 DB please input

7、 numbers,0DH,0AH,$ D2 DB 30 DUP (0)DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX LEA DX,D1 MOV AH,9 INT 21H LEA SI,D2 MOV BX,0 J1: MOV AH,1 INT 21H CMP AL,0DH JZ J2 SUB AL,30H MOV SI,AL INC SI INC BX LOOP J1J2: MOV CX,BX DEC CX MOV DX,0001AG: CALL MP INC DX LOOP AG MO

8、V SI,0 AND D2SI,0 ;将最小值清零 DEC BX AND D2SI+BX,0 ;将最大值清零 DEC BXXOR AX,AXMOV AL,BYTE PTR D2SI MOV CX,BXSUM: ADD AL,D2SI+1 ;剩余数据求和 INC SI LOOP SUM DIV BLADD AL,30HMOV DL,AL MOV AH,2 INT 21HADD AH,30HMOV DL,ALMOV AH,2INT 21 MOV AH,4CH INT 21HMP PROC PUSH CX MOV CX,BX SUB CX,DX MOV SI,0RECMP: MOV AL,D2SI

9、CMP AL,D2SI+1 ;比较相邻两数据的大小 JLE L1 ;若前者小于等于后者,跳转到L1 XCHG AL,D2SI+1 ;若前者大于后者,则两者交换 XCHG AL,D2SIL1: INC SI LOOP RECMP POP CX RETMP ENDPCODES ENDS END START四、 运行结果:1、 中值滤波:2、 均值滤波:五、 两种滤波方式的优缺点及改进方式1、优缺点:均值滤波适用于比较稳定的数据处理,可以平滑图像,速度较快,算法简单,但是没有办法去掉噪声,只能稍微减弱它。中值滤波在平滑脉冲噪声方面非常有效,可以保护图像尖锐的边缘,能用合适的点来代替污染点的值,所以效果比较好。2、改进方式:可以将均值滤波改为加权均值滤波。六、 实验体会本次试验让我知道了中值滤波和均值滤波的工作原理和计算方法。在编程过程中,加深了对冒泡排序法的认识和理解,能够掌握冒泡排序的编程方法。调试程序过程中,利用debug单步执行的方法一步一步检查程序出问题的地方时,我感觉自己读程序的能力还有待提高。

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

当前位置:首页 > 高等教育 > 其它相关文档

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