写在前面

HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一。

由于时间紧张,代码没有进行任何优化,实验算法仅供参考。

实验要求

  1. 实现给图像添加高斯噪声椒盐噪声 ,要求显示添加噪声之后的结果图。
  2. 实现图像的空域滤波:中值滤波均值滤波算法,并选取适合的方法对1中的图像进行平滑处理,要求显示处理之后的结果。
  3. 实现图像的边缘检测:Roberts算子Sobel算子
  4. 选做:实现对BMP文件头的读取,并解析BMP图像文件。 PS:图像单通道形式读取

实验代码

代码首先贴在这里,仅供参考

源代码

知识总结

这一部分总结实验过程中查询的博客,介绍完成本实验所需的知识,并对其记录以便之后复习。

首先需要实现一个对bmp文件读取的程序,这里首先需要了解bmp图像的格式
BMP文件格式详解(BMP file format)
这里我使用的文件读取方式是packunpack
python中struct.pack()函数和struct.unpack()函数
Python使用struct处理二进制(pack和unpack用法)

bmp文件读取程序中,如何保存读出的图像数据自己决定,但最好使用numpy库将其保存为数组,方便后续进行各种处理。(这里我选择将其按像素点储存为一维数组,理解上较为简单,但后续算法实现需要算一下下标,导致程序不是很简洁。)

接下来进行的各种操作都是在灰度图上进行的,因此首先需要将bmp图像数据转化成灰度图像数据
图像处理:图像灰度化

之后是实现高斯噪声和椒盐噪声
高斯噪声和椒盐噪声的python程序实现

均值滤波和中值滤波
图像处理:中值滤波&均值滤波

Roberts算子和Sobel算子
灰度图像--图像增强 Robert算子、Sobel算子

实验总结

很简单的一个实验,总时间加起来大致6个小时左右(后面几个算法程序结构都是完全一样的,看懂算法原理直接替换核心代码就可以了。

最新文章

  1. 关于Exception
  2. elk系列3之通过json格式采集Nginx日志
  3. Django笔记-常见错误整理
  4. SQLServer DBA 三十问(加强版)
  5. session配置理解
  6. NOIP2005 等价表达式 解题报告
  7. RTB广告展示分步说明
  8. html5 拖拽的简要介绍
  9. webview 本地上传文件
  10. python3和Python2的区别(被坑太久了)
  11. sitecore(key\value\language)的灵活应用
  12. ACM题目:487-3279
  13. Python的安装和详细配置(转)
  14. [HNOI2010]PLANAR
  15. nginx学习笔记(三)
  16. SharePoint 2016 - 安装QuickFlow2013
  17. IOS CFBundleIdentifier
  18. 自然对数e(转)
  19. golang cgo 使用总结
  20. Ruby 装pg的坑

热门文章

  1. CSPS模拟 45 乔迁之喜
  2. 问题 C: 「Usaco2010 Dec」奶牛健美操O(∩_∩)O
  3. css3 mask遮罩动画(照明灯效果)
  4. pandas数据导出Execl
  5. python—mariadb自动部署主从
  6. 银联ISO8583报文解析过程
  7. 接口测试专题(Java & jmeter & Linux基础)
  8. PHP 当Swoole 遇上 ThinkPHP5
  9. nyoj 79-拦截导弹 (动态规划)
  10. RabbitMQ学习笔记之五种模式及消息确认机制