HIT2019视听觉信号处理视觉实验一
写在前面
HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一。
由于时间紧张,代码没有进行任何优化,实验算法仅供参考。
实验要求
- 实现给图像添加高斯噪声和椒盐噪声 ,要求显示添加噪声之后的结果图。
- 实现图像的空域滤波:中值滤波和均值滤波算法,并选取适合的方法对1中的图像进行平滑处理,要求显示处理之后的结果。
- 实现图像的边缘检测:Roberts算子和Sobel算子。
- 选做:实现对BMP文件头的读取,并解析BMP图像文件。 PS:图像单通道形式读取
实验代码
代码首先贴在这里,仅供参考
知识总结
这一部分总结实验过程中查询的博客,介绍完成本实验所需的知识,并对其记录以便之后复习。
首先需要实现一个对bmp文件读取的程序,这里首先需要了解bmp图像的格式
BMP文件格式详解(BMP file format)
这里我使用的文件读取方式是pack
和unpack
python中struct.pack()函数和struct.unpack()函数
Python使用struct处理二进制(pack和unpack用法)
bmp文件读取程序中,如何保存读出的图像数据自己决定,但最好使用numpy库将其保存为数组,方便后续进行各种处理。(这里我选择将其按像素点储存为一维数组,理解上较为简单,但后续算法实现需要算一下下标,导致程序不是很简洁。)
接下来进行的各种操作都是在灰度图上进行的,因此首先需要将bmp图像数据转化成灰度图像数据
图像处理:图像灰度化
之后是实现高斯噪声和椒盐噪声
高斯噪声和椒盐噪声的python程序实现
均值滤波和中值滤波
图像处理:中值滤波&均值滤波
Roberts算子和Sobel算子
灰度图像--图像增强 Robert算子、Sobel算子
实验总结
很简单的一个实验,总时间加起来大致6个小时左右(后面几个算法程序结构都是完全一样的,看懂算法原理直接替换核心代码就可以了。
HIT2019视听觉信号处理视觉实验一的更多相关文章
- python+opencv实现车牌定位
写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验三,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验三. 由于时间紧张,代码没有进行任何优化, ...
- python实现直方图均衡化,理想高通滤波与高斯低通滤波
写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验二,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验二. 由于时间紧张,代码没有进行任何优化, ...
- 入职9月,旷视孙剑106分钟讲述CV创业科研的5大区别
雷锋网按:本文为旷视科技首席科学家孙剑日前在 CCF-ADL上做的题为<如何在大公司和创业公司做好计算机视觉研究>的分享,主要介绍了近期计算机视觉的发展现状,ResNet基本原理和设计,旷 ...
- 【VS开发】【智能语音处理】语音信号处理之(四)梅尔频率倒谱系数(MFCC)
语音信号处理之(四)梅尔频率倒谱系数(MFCC) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要 ...
- VR与AR的发展趋势分析
概要 你是否想象过与神秘的深海生物近距离接触?你是否梦想过穿戴钢铁侠那样的超先进科技装备成为超级英雄?你又是否幻想过与梦中的女神面对面的交流?这些可能在以前都只能是存在于脑海中的幻想,可是在如今有一项 ...
- 【黑金原创教程】【Modelsim】【第五章】仿真就是人生
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- MPEG-4视频编码核心思想
1 引言 当今时代,信息技术和计算机互联网飞速发展,在此背景下,多媒体信息已成为人类获取信息的最主要载体,同时也成为电子信息领域技术开发和研究的热点.多媒体信息经数字化处理后具有易于加密.抗干扰能 ...
- 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放 license收费等 ...
- paper 54 :图像频率的理解
我一直在思考一个问题,图像增强以后,哪些方面的特征最为显著,思来想去,无果而终!翻看了一篇知网的paper,基于保真度(VIF)的增强图像质量评价,文章中指出无参考质量评价,可以从三个方面考虑:平均梯 ...
随机推荐
- day 2 上午 消失之物 背包
#include<iostream> using namespace std; long long n,m; ]; ]; ]; int main() { cin>>n>& ...
- Jenkins+JMeter+Ant 接口持续集成
JMeter安装 JMeter安装包: 下载地址:https://jmeter.apache.org/download_jmeter.cgi 依赖JDK环境 JDK环境配置: JAVA_HOME ...
- 安装Windows和Ubuntu双系统--Ubuntu安装过程识别不了硬盘
Linux识别不了固态硬盘 安装过程: 自己本身的是Windows 10,一块125g 固态 ,一块1T的机械硬盘. 通过rufus 制作ubuntu的启动盘 在BIOS中关闭电脑的安全启动选项,并且 ...
- linux破解密码
1.关机2.按e进入grub 3.在linux16行末尾输入 rd.break console=tty1 4.按ctrl+“X”执行. 5.输入 mount -o remount,rw /sys ...
- [Office] Resources for Office Development
Office 2013 Document (.chm) download page: http://www.microsoft.com/en-us/download/details.aspx?id=4 ...
- 力扣(LeetCode)寻找数组的中心索引 个人题解
给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法. 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和. 如果数组不存在中心索引,那么我 ...
- 原生js实现简单的下拉加载
#获取当前滚动条的高度document.documentElement.scrollTop #获取当前窗口的高度 document.documentElement.clientHeight #获取当前 ...
- three.js使用gpu选取物体并计算交点位置
光线投射法 使用three.js自带的光线投射器(Raycaster)选取物体非常简单,代码如下所示: var raycaster = new THREE.Raycaster(); var mouse ...
- Future模式的学习以及JDK内置Future模式的源码分析
并发程序设计之Future模式 一).使用Future模式的原因 当某一段程序提交了一个请求,期待得到一个答复,但服务程序对这个请求的处理可能很慢,在单线程的环境中,调用函数是同步的,必须等到服务程序 ...
- 使用OpenMP加快OpenCV图像处理性能 | speed up opencv image processing with openmp
本文首发于个人博客https://kezunlin.me/post/7a6ba82e/,欢迎阅读! speed up opencv image processing with openmp Serie ...