第一天:
①直方图均衡
②均值滤波、高斯滤波、中值滤波
③拉普拉斯滤波器

关于matlab

matlab基本概况

MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.

当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.

开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.

学习任务

  1. 使用matlab对四张图片分别进行直方图均衡,并且分别显示原始图像、均衡后图像、以及对应的直方图
  2. 使用matlab对图像添加强度为0.2的椒盐噪声,并且分别使用3x3的均值滤波器、高斯平滑滤波器和中值滤波器对添加噪声的图像进行平滑滤波,并分别显示原始图像、添加噪声的图像、以及各平滑滤波后图像
  3. 分别使用拉普拉斯滤波器:

    对图像进行锐化

实现

  • 使用matlab对四张图片分别进行直方图均衡,并且分别显示原始图像、均衡后图像、以及对应的直方图
% 直方图均衡
H1= imread('Fig0316_1_3e.tif');
H2= imread('Fig0316_2_3e.tif');
H3= imread('Fig0316_3_3e.tif');
H4= imread('Fig0316_4_3e.tif');
% H1
if length(size(H1))>2H1=rgb2gray(H1);
end
subplot(3,2,1);
imshow(H1); title('H1原图');
subplot(3,2,2);
imhist(H1); title('H1原图直方图');
subplot(3,2,5);
H1_=histeq(H1);
imshow(H1_'); title('histeq均衡后图 ');
subplot(3,2,6);
imhist(H1_'); title('histeq均衡后直方图 ')% H2
if length(size(H2))>2H2=rgb2gray(H2);
end
subplot(3,2,1);
imshow(H2); title('H2原图');
subplot(3,2,2);
imhist(H2); title('H2原图直方图');
subplot(3,2,5);
H2_=histeq(H2);
imshow(H2_); title('histeq均衡后图 ');
subplot(3,2,6);
imhist(H2_); title('histeq均衡后直方图')%H3
if length(size(H3))>2H3=rgb2gray(H3);
end
subplot(3,2,1);
imshow(H3); title('H3原图');
subplot(3,2,2);
imhist(H3); title('H3原图直方图');
subplot(3,2,5);
H3_=histeq(H3);
imshow(H3_); title('histeq均衡后图 ');
subplot(3,2,6);
imhist(H3_); title('histeq均衡后直方图')% H4
if length(size(H4))>2H=rgb2gray(H4);
end
subplot(3,2,1);
imshow(H4); title('H4原图');
subplot(3,2,2);
imhist(H4); title('H4原图直方图');
subplot(3,2,5);
H4_=histeq(H4);
imshow(H4_); title('histeq均衡后图');
subplot(3,2,6);
imhist(H4_); title('histeq均衡后直方图')

得到图像如下:

  1. H1

  2. H2

  3. H3

  4. H4

    结果分析:
    我们发现,在我们对图像进行直方图均衡之后,其直方图的灰度范围(跨度)变得更大了,其图像效果也变得更加明显,所以,我们可以得出结论:
    如果一幅图像其灰度直方图跨越整个灰度范围,并且成均匀分布,那么这副图像细节丰富、对比度及动态范围高,视觉质量好

  • 使用matlab对图像添加强度为0.2的椒盐噪声,并且分别使用3x3的均值滤波器、高斯平滑滤波器和中值滤波器对添加噪声的图像进行平滑滤波,并分别显示原始图像、添加噪声的图像、以及各平滑滤波后图像
% 添加噪声
t=imread('Fig0507_ckt_board_orig_3e.tif');
subplot(1,2,1),imshow(t),title('原图');
t2=imnoise(t,'salt & pepper',0.2);
figure,subplot(1,2,1),imshow(t2),title('加入噪声密度:0.2的椒盐噪声');% 3x3均值滤波
k1=filter2(fspecial('average',3),t2);
subplot(2,3,3),imshow(uint8(k1));title('均值滤波3*3模板平滑')% 高斯滤波
M = size(t2);
if numel(M)>2gray = rgb2gray(t2);
elsegray = t2;
end% 创建滤波器
W = fspecial('gaussian',[5,5],1);
G = imfilter(gray, W, 'replicate');
figure(1);
subplot(121); imshow(gray); title('原始图像');
subplot(122); imshow(G);    title('滤波后图像');% 中值滤波
subplot(2,2,4)
D=medfilt3(t2);
imshow(D,[])
title('中值滤波处理')imshow(t),title('原图');
imshow(t2),title('添加0.2的椒盐噪声');
imshow(k1),title('3x3均值滤波');
imshow(uint8(k1)),title('3x3均值滤波');
imshow(G),title('高斯滤波');
imshow(D),title('中值滤波');

得到图像如下:

  1. 原图

  2. 添加强度为0.2的椒盐噪声

  3. 3x3均值滤波

  4. 高斯滤波

  5. 中值滤波

结果分析:

从结果可以看出,中值滤波在处理椒盐噪声的问题中有很大的优势

  • 使用拉普拉斯滤波器对图像进行锐化
  1. 四邻域的拉普拉斯算子滤波
A = imread('blurry_moon_3e.tif');
%%%锐化%%%%
f_laplacian = fspecial('laplacian',0)
B3 = imfilter(A,f_laplacian);
figure;
subplot(121);imshow(A);
subplot(122);imshow(-B3);
figure;
subplot(121);imshow(A);
subplot(124);imshow(A-B3);

结果如下:



2. 八邻域的拉普拉斯算子滤波

a = im2double(imread('blurry_moon_3e.tif')); lap = [-1 -1 -1; -1 8 -1; -1 -1 -1]; resp = imfilter(a, lap, 'conv');%// Change - Normalize the response imageminR = min(resp(:));maxR = max(resp(:));resp = (resp - minR) / (maxR - minR);%// 更改-现在添加到原始图像sharpened = a + resp;%// 更改-标准化锐化的结果minA = min(sharpened(:));maxA = max(sharpened(:));sharpened = (sharpened - minA) / (maxA - minA);%// 改变-执行线性对比度增强sharpened = imadjust(sharpened, [60/255 200/255], [0 1]);figure;subplot(1,3,1);imshow(a); title('原始图像');subplot(1,3,2);imshow(resp); title('拉普拉斯滤波图像');subplot(1,3,3);imshow(sharpened); title('锐化图像');

结果如下:


结果分析:

  • 锐化的主要目的是突出灰度的过渡部分
  • 因此,图像微分增强边缘和其他突变(如噪声)而削弱灰度变化缓慢的区域

总结

今天算是matlab初体验,从安装、配置matlab,到了解其中的函数、包、库、再到最后完成学习任务,在这个过程中我还是学到了很多东西的,不仅感受到了matlab的强大功能,也极大锻炼了我主动学习和自主解决问题的能力,同时加深了我对一些图像处理知识的理解,从理论到实践,我觉得这是一个能够产生质变的过程。

基于matlab进行图像处理学习——从入门到入魔相关推荐

  1. 基于MATLAB的图像处理的课程设计

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

  2. 基于MATLAB的图像处理技术

    基于MATLAB的图像处理技术 摘 要: 一般情况下,拍摄到的图像由于光照不足等原因,可能有较多的噪声,且边界特征不清晰.因此,我们需要对这些图像进行增强或分割处理.介于此,本文介绍了基本的图像处理技 ...

  3. 基于MATLAB的图像处理系统

    目录 设计目的-------..-------.----3 设计要求-------.----------.-.3 设计的内容------..---------.--3 题目分析------------ ...

  4. 基于matlab的硅晶体模型,基于Matlab的图像处理技术识别硅太阳电池的缺陷

    第 44 卷 第 7 期 2010 年 7 月 上 海 交 通 大 学 学 报 JOURNAL OF SHANGHAI J IAOTON G UNIVERSITY Vol. 44 No. 7 Jul. ...

  5. matlab怎么利用圆形度提取园,基于Matlab+GUI图像处理的物料粒度与圆形度测试.pdf...

    基于Matlab+GUI图像处理的物料粒度与圆形度测试.pdf 第36卷第2期 中国农机化学报 Vol_36No.2 2015年3月 JournalofChinese Mechanization Ma ...

  6. matlab图像类论文,基于matlab图形图像处理技术毕设论文.doc

    基于matlab图形图像处理技术毕设论文 基于MATLAB图形图像处理技术 摘 要 本文提出了一种基于MATLAB的数字图像处理技术的设计,系统中包括了图像处理技术的各个方面,涵盖了图像处理领域的个别 ...

  7. 【基于matlab数字图像处理GUI代码】_数字图像处理考核论文_大作业_项目

    基于matlab数字图像处理GUI代码 代码: function varargout = Image_processing_GUI(varargin) % IMAGE_PROCESSING_GUI M ...

  8. matlab图形图像处理论文,基于matlab图形图像处理技术-本科毕设论文.doc

    基于matlab图形图像处理技术-本科毕设论文 基于MATLAB图形图像处理技术 摘 要 本文提出了一种基于MATLAB的数字图像处理技术的设计,系统中包括了图像处理技术的各个方面,涵盖了图像处理领域 ...

  9. 基于matlab的图像处理系统GUI

    基于matlab的图像处理系统GUI,支持图像缩放,剪切,旋转,水平镜像,垂直镜像,参数还可以自己设置,边缘处理的五种算法:laplacian算法,Robert算法,canny算法,prewitt算法 ...

  10. 显微镜镜头缺陷检测系统 基于matlab的图像处理系统

    第一步 可以见到的显微镜镜头的圆形 显示镜头的轮廓 图像处理后,可以框选感兴趣的区域,并且将镜头位置处粗略显示出来 定位一部分缺陷位置 得到缺陷的轮廓 研究了一种sobel改进的方法,并且得到最佳的数 ...

最新文章

  1. 2018-3-24论文(Grey Wolf Optimizer)note1----------No Free Lunch Theorem
  2. AI视觉大牛朱松纯担任北大AI研究院院长,提出通过构建大任务平台走向通用AI...
  3. 三星note5 android版本区别吗,三星Note5哪种颜色好看?三星Note5四种颜色区别对比图解...
  4. 微博:吃饭砸锅的艺术
  5. 云炬Qtpy5开发与实战笔记 1开发第一个桌面应用Hello World
  6. unity协程_[C#进阶]C#实现类似Unity的协程
  7. Spring Java-based容器配置
  8. DirectX编译环境配置
  9. attachEvent中this指向(转)
  10. JavaEE学习13--Jquery
  11. thymeleaf 的hello world
  12. 解决idea中xml注释出现空格和顶格问题
  13. Linux 中的 fold 命令详解及C/C++代码实现
  14. Win7下配置PHP+Nginx
  15. android 什么是有权查看使用情况的应用程序
  16. 页面5秒钟刷新一次(html,php)均可用
  17. 文字竖直居中 html,CSS 文字垂直居中
  18. 天气预报API及城市代码[最详细]
  19. Android串口通信:串口读写
  20. java utf8 简繁转换 类库,java 中文繁简体转换工具 opencc4j

热门文章

  1. 深度学习、机器学习交流群
  2. 2021年校招,最值得加入的互联网公司有哪些?
  3. 第九节 初始模块结构图的设计
  4. 怎么把原本一页的PDF拆分成单独的两页?
  5. 指针的指针(简单易懂)
  6. 短连接生成系统如何设计?
  7. 工具栏的打印图标不见了_任务栏打印机图标不见 - 卡饭网
  8. 详解高速缓存存储器的3种映射方式
  9. 添加蒙版及原页面不滚动
  10. RHEL7平台下电信拨号上网配置