资源下载地址:https://download.csdn.net/download/sheziqiong/85620385

一、要求

  • https://pan.baidu.com/s/1OoNeKcPaYOOsxgkYUcBGig;
  • 对上述低照度图像进行灰度化,计算并显示以上低照度图像的灰度直方图和离散傅里叶变换频谱幅度图;
  • 对以上低照度图像分别进行直方图均衡化和同态滤波操作,并对两种算法的最终结果进行对比;

二、实验报告

任务一

  1. 计算并显示灰度直方图 my_imhist

    实现步骤:

    • 调用 MATLAB 库函数 rgb2gray 将图像灰度化
    • 调用自己实现的 my_imhist 统计每种灰度值出现的次数,并返回概率质量函数
    • 调用 MATLAB 的库函数 bar 进行绘制

图1:灰度直方图与MATLAB库函数histogram对比

  1. 计算并显示离散傅里叶变换频谱幅度图my_dft2 & my_idft2

实现步骤:

  • 调用 MATLAB 库函数 rgb2gray 将图像灰度化
  • 调用自己实现的 my_dft2 将计算过程分成两部分,分别对列和对行进行计算,并且采用向量化思想,不使用 for 循环,极大提高了离散傅里叶变换的计算速度
  • 调用 MATLAB 库函数 fftshift 将得到的离散傅里叶变换移动到中心,并取对数,计算幅度和相角后调用 imshow 显示幅度谱和相位谱
  • 调用 fftshift 和自己实现的 my_idft2 进行离散傅里叶逆变换,并调用 imshow 显示逆变换后的图像

尝试过程:

(1) 最开始使用 for 循环实现课本上离散傅里叶变换二维形式的公式,速度非常慢,原因是该公式的时间复杂度是O(n4)O(n^4)O(n4)

(2) 第二次尝试是将离散傅里叶拆分成分别对列和对行进行计算,理论依据是傅里叶变换的交换性,速度有了较好的提升,原因是该公式的时间复杂度是O(n2)O(n^2)O(n2)

(3) 第三次尝试是应用向量化的思想,不再采用 for 循环,而是将计算过程看作是矩阵相乘,极大提高了运算速度

图2:离散傅里叶变换与MATLAB库函数fft2和ifft2的效果对比

任务二

  1. 直方图均衡化 my_histeq

    实现步骤:
    http://www.biyezuopin.vip

    • 调用 MATLAB 库函数 rgb2gray 将图像灰度化
    • 调用 my_imhist 计算输入灰度图的概率质量函数
    • 调用 MATLAB 库函数 cumsum 计算累积分布函数并获得原图像灰度值与新图像灰度值映射关系
    • 将获得的映射关系应用在图像上,并计算新图像的概率质量函数

    思考:

    (1) 与 MATLAB 库函数 histeq 对比,发现自己实现的书上原始算法与 histeq 竟然有些不同,可以看到 histeq 整体偏暗,并且灰度值 200 以上似乎进行了归并,没有像 my_histeq 那样这么密集。我推测可能是 MATLAB 对 histeq 进行了优化,也许是直方图规定化,也许是其他优化方法

    (2) 还可以看到,虽然直方图均衡化使得该低照度图像的内容能被人眼辨认,但是也同时放大了噪声,效果并不是很理想

    (3) 直方图均衡化的一个优点是参数可以自适应,即不需要调节参数,算法会根据图像的不同而自动调节

图3:直方图均衡化与MATLAB库函数histeq的效果对比

图4:直方图均衡化my_histeq的效果图

  1. 同态滤波homo_filter

实现步骤:

  • 调用 MATLAB 库函数 rgb2gray 将图像灰度化
  • 取对数,并使用 my_dft2 进行离散傅里叶变换
  • 调用自己实现的高斯高通滤波 GHPF 并作用在经离散傅里叶变换的图像上
  • 使用 my_idft2 进行离散傅里叶逆变换,并取指数
  • 重新调整成灰度图,使用 imshow 显示

思考:

(1) 同态滤波的效果明显好过直方图均衡化,没有这么刺眼,也没有这么多噪声

(2) 同态滤波的缺点是参数需要根据图像的不同来调节高通滤波器的参数,不能做到自适应

图5:同态滤波与MATLAB库函数histeq的效果对比

图6:同态滤波homo_filter的效果图

三、改进尝试

(1) 如果直接对原图进行直方图均衡化,虽然能使图像更明亮,但也放大了噪声;同态滤波增加了图像的亮度,也减少了噪声,但因其增加了低灰度的比例,增强效果仍然不明显

(2) 针对同态滤波与直方图均衡化单独进行图像增强时存在的不足,提出能否在频域内将同态滤波与直方图均衡化结合的想法。首先,采用同态滤波器将图像进行高低分频;再将得到的低频分量进行全局的直方图均衡化处理;最后将高频分量跟低频分量进行线性融合。算法流程图如下:

图7:改进算法流程图

(3) 由于时间比较紧,我没有太多时间去优化这个算法,最终似乎效果并不是太好,所以我就没有展示效果图,这里我仅展示了一个思路

四、程序运行

直接在 MATLAB 中输入运行 main 即可,整个程序框架如下:

图8:程序框架

资源下载地址:https://download.csdn.net/download/sheziqiong/85620385

基于MATLAB的数字图像处理-图像进行灰度化相关推荐

  1. 基于MATLAB的数字图像处理系统设计

    一.课题背景 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具. 笔者阐述了一种基于MATLAB的数字图像处理系统设计 ...

  2. 基于MATLAB的数字图像处理的设计与实现 转

    基于MAT [摘要]数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务.数字图像处理是一种通 ...

  3. 【基于MATLAB的数字图像处理】第四章·图像增强

    系列文章 ·[基于MATLAB的数字图像处理]第一章·绪论 ·[基于MATLAB的数字图像处理]第二章·视觉系统与图像处理系统 ·[基于MATLAB的数字图像处理]第三章·基本图像变换 ·[基于MAT ...

  4. 【基于MATLAB的数字图像处理】第三章·基本图像变换

    系列文章 ·[基于MATLAB的数字图像处理]第一章·绪论 ·[基于MATLAB的数字图像处理]第二章·视觉系统与图像处理系统 ·[基于MATLAB的数字图像处理]第三章·基本图像变换 ·[基于MAT ...

  5. 【基于MATLAB的数字图像处理】大作业·综合图像处理平台

    系列文章目录 ·[基于MATLAB的数字图像处理]第一章·绪论 ·[基于MATLAB的数字图像处理]第二章·视觉系统与图像处理系统 ·[基于MATLAB的数字图像处理]第三章·基本图像变换 ·[基于M ...

  6. 基于MATLAB的数字图像处理系统

    基于MATLAB的数字图像处理系统 摘要:数字图像处理技术是20世纪60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用 ...

  7. 基于MATLAB的数字图像处理系统GUI界面设计

    基于MATLAB的数字图像处理系统GUI界面设计 图像读入 从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图 ...

  8. java数字图像处理开题报告,基于MATLAB的数字图像处理算法研究与仿真开题报告...

    基于MATLAB的数字图像处理算法研究与仿真开题报告 毕 业 设 计 (2013 届) 题 目基于 MATLAB 的数字图像 处理算法研究与仿真 学 院 物理电气信息学院 专 业 通信工程 年 级 0 ...

  9. 基于MATLAB的数字图像处理基本操作

    实验一:图像增强 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示: 2.熟悉直方图均衡化: 3.熟悉图像的线性指数等: 4.熟悉图像的算术运算及几何变换. 实验原理: 图 ...

  10. 基于MATLAB的数字图像处理仿真软件

    1 引言 1.1MATLAB介绍 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的 ...

最新文章

  1. Oracle表空间文件损坏后的排查及解决
  2. pandas drop 删除行和列的方法
  3. 【知识星球】动态推理网络结构上新,不是所有的网络都是不变的
  4. 对人工智能的应用、发展及其影响的思考
  5. z-index的学习整理转述
  6. ABP入门系列(3)——领域层定义仓储并实现
  7. VS建lUML画类图
  8. html5画布 文本无法显示,淡出HTML5画布中的文本效果
  9. 几大主流国产浏览器统一屏蔽996.ICU!
  10. 《Maintainable JavaScript》读书笔记
  11. Html中代码换行造成空格间距的问题
  12. 空间旋转矢量的求法(理解)
  13. firefox + pentadactyl 实现纯绿色高效易扩展浏览器(同时实现修改默认状态栏样式)...
  14. 定积分及其应用知识点总结_定积分知识点总结.doc
  15. 推送微信公众号模板消息通知(Java版)
  16. CNN模型压缩——使用网络稀疏化方法(Learning Effcient Convolutional Network through Network Sliming)
  17. Spring中AOP的Introductions使用介绍
  18. Androd Camera Yuv Jepg bmp
  19. 图形学经典参考书籍 电子书下载
  20. 当你对成功的渴望足以与你对呼吸的渴望相媲美的时候,你就会成功!

热门文章

  1. html 展开 折叠,HTML实现点击展开和收起
  2. 斗地主牌型判断实现(一)
  3. 免费的思维导图软件都有哪些?
  4. 思维导图编辑最常用的几种Edraw Max(亿图)快捷键
  5. win7旗舰版升级成win7SP1
  6. 《植物大战僵尸》游戏数据修改
  7. GlusterFS 4.0开发计划解读
  8. Spring Boot应用在kubernetes的sidecar设计与实战,mysql分表分库技术实现
  9. 微信小程序 有赞UI关于Tab 标签页的坑
  10. 怎么做手机App测试?app测试详细流程和方法介绍