Matlab图像学校实验操作基础——矩阵、九宫格、噪声处理

                               实验(一)
  • 【实验目的】:

    • 一、运用Matlab对矩阵进行运算
    • 二、运算Matlab对图像的基本处理
    • 三、熟悉Matlab基本编程

【内容】

一、矩阵运算
矩阵的定义、矩阵的点乘、矩阵乘法和矩阵点运算
A=[4 3 -1 4; 3 7 1 -5; -1 1 2 9]
B=[0 1 2 4; -1 0 3 5; -2 -3 0 6; -9 6 5 7]
C=[0 3 -1 4; -3 0 1 -5; 1 -1 0 9]
A减C: A - C
A乘以B: A * B
B的逆矩阵 inv(B)
A点乘 C: A .* C, A.^2
A 的点平方: A.^ 2

二、图像的基本处理

. 【分割】提取Lena图像的左半上角部分,与原始Lena 图像在figure中显示,并做适当的命名,。

a              =imread('Lena.bmp');
[M, N, C]  =  size(a);
b              =a(1:floor(M/2), 1: floor(N/2), : );
c               = a(1:floor(M/4), 1:floor(N/4), :);
figure:
subplot(1,3,1);
imshow(a);title( ' Oringal imagre' )
subplot(1,3,2);
imshow(b); title( 'Top-left 1/2 quarter' )
subplot(1,3,3);
imshow(c);title( 'Top-left 1/4 quarter' )

外延:九宫格切割。

a           =imread( 'Lena.bmp ' );
a_m      = imresize(a,1.8,'bilinear');  %先放大1.8倍
[M, N, C]= size(a_m);
figure;
imshow(a_m);
axis on;
m         =floor(M/3);
temp1   = floor(M/3);  %x轴参数
temp2   = floor(N/3);  %y轴参数
if(temp1 > temp2)temp1= temp2;temp2= temp1;
else temp2= temp1;
end
subplot(3,3,1);
imshow(a_m( 1: temp2, 1: temp1))
subplot(3,3,2);
imshow(a_m(1:  temp2,temp1: temp1*2))
subplot(3,3,3);
imshow(a_m(1: temp2,temp1*2: temp1*3))
subplot(3,3,4);
imshow(a_m( temp2:temp2*2, 1:temp1 ))
subplot(3,3,5,);
imshow(a_m( temp2:temp2*2,temp1:temp1*2 ))
subplot(3,3,6,);
imshow(a_m(temp2: temp2*2,temp1*2:temp1*3))
subplot(3,3,7);
imshow(a_m(temp2*2: temp2*3,1: temp1))
subplot(3,3,8);
imshow(a_m(temp2*2: temp2*3, temp1:temp1*2))
subplot(3,3,9);
imshow(a_m( temp2*2:temp2*3, temp1*2:temp1*3 ))

三、图像去噪,图像加法
利用imnoise ,对原始Lema图像叠加高斯噪声,产生至少4幅以上的含噪声图像。对这些含噪声图像采用 相加 运算,来验证是否可以抑制噪声。将原始图像、所有噪声图像、相加结果图像显示在一个figure中。
代码:

img  = imread('Lena.bmp');
nos1 = imnoise(img,'gaussian',0,0.05);
nos2  =imnoise(img, 'gussian',0,0.06);
nos3  =imnoise(img, 'gussian', 0, 0.03);
nos4  =imnoise(img,'gussian',0,0.04);
temp  = uint16(nos1)+uint16(nos2)+uint16(nos3)+uint16(nos4);
img2  =uint8((tmp/4));
figure;
subplot(231);imshow(img);title('原图')
subplot(232);imshow(nos1);title('方差0.05的高斯')
subplot(233);imshow(nos2);title('方差0.06的高斯')
subplot(234);imshow(nos3);title('方差0.03的高斯')
subplot(235);imshow(nos4);title('方差0.04的高斯')
subplot(236);imshow(img2,[]);title('矩阵相加,图像加法去噪')

&

&&&&&&&参考百度:
图像噪声函数 imnoise();
类型有:a= imread(‘Lena.bmp’)

  1. b=imnoise(a,‘gassian’,m,s); 其中:a是图像对象;gassian为高斯噪声,m是均值,s为方差。
  2. b=imnoise(a,‘localvar’,V); 其中:V是局部方差,理想方差值,而且与a是大小相等的矩阵。
  3. b=imnoise(a, ‘localvar’, image_intensity,var); 将均值为0的高斯噪声加到图像a中,其中噪声的局部方差var是图像a的亮度值的函数。参值image_intensity和var是大小相同的向量。后面在plot(image_intensity, var)将绘制出噪声方差与图像亮度值函数的关系。
  4. b=imnoise(a,‘salt&pepper’ , d); 椒盐噪声处理图像。其中:d是噪声密度(是包含噪声值的图像区域的百分比),默认d=0.05;
  5. b=imnoise(a,‘speckle’, n,var);乘法噪声处理图像。其中:n是均值(默认=0),var是方差(默认=0.04)的均匀分布的随机噪声。
  6. b=imnoise(a,‘poisson’); 泊松噪声处理图像。

运行结果:


加深 | Matlab图像实验操作基础(矩阵,九宫格、噪声处理)相关推荐

  1. 控制工程基础MATLAB仿真实验,控制工程基础实验指导书——MATLAB仿真部分.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab 控制工程基础实验指导书--MATLAB仿真部分.d ...

  2. matlab编程简单操作基础教程(二)

    MATLAB各类语句的运用 接下来为大家介绍一下matlab的各类语句 1.if语句 2.switch-case语句 3.输入语句 4.循环语句 5.while语句 6.break语句 7.conti ...

  3. matlab平面图形的几何变换,matlab图像的几何变换

    2. 了解平移.伸缩.对称.旋转等变换. 3. 学习掌握 MATLAB 软件有 实验报告 课程名称:数学实验 实验名称:平面图形的几何变换 指导教师: 实验目的.要求: 1. ...... Matla ...

  4. 三维重建(一)外极几何,基础矩阵及求解

    最近在看三维重建的东西,把看到的东西总结一下. 一.外极几何 已知两个摄像头的光心 O O和O′O', P P为空间中的一点,pp和 p′ p'是点 P P在两个摄像头成的像中的投影. 平面OO′PO ...

  5. 视觉定位原理——基础矩阵

    一.基础矩阵的原理 介绍基础矩阵我们先说一下对积几和 对极几何一定是对二幅图像而言,对极几何实际上是"两幅图像之间的对极几何",它是图像平面与以基线为轴的平面束的交的几何(这里的基 ...

  6. 【Matlab 控制】矩阵、图像操作基础

    Matlab矩阵.图像操作基础 1. 矩阵操作 计算特征值和特征向量 计算矩阵指数 2. 图像操作 显示单条曲线 显示多条曲线 设置曲线线宽 添加图例 添加x轴y轴标签 添加图像标题 3. 显示结果 ...

  7. matlab 图像上下翻,Matlab图像九宫格基本操作(翻转,镜像等)+位图操作

    Matlab图像九宫格基本操作(翻转,镜像等)+位图操作 Matlab图像九宫格基本操作(翻转,镜像等)+位图操作 这次blog提到的操作对于matlab来说都很基础,而且对于有编程和计算机基础的人来 ...

  8. 【Matlab 图像】图像基础操作

    图像基础操作 读取图片 读取视频 读取图片 % 读取图像 Img = imread('test2.png'); subplot(2,2,1); imshow(Img); title('原图(RGB图) ...

  9. MATLAB图像隐藏基础

    文章目录 一.MATLAB基础 二.图像基础 三.文件的读取与图像格式转换 一.MATLAB基础 clc :清除命令窗口:clear all :清除环境(从内存中清除所有变量):dir :列出当前目录 ...

  10. MATLAB第一次实验:MATLAB基础

    MATLAB第一次实验:MATLAB基础 前言 一.实验目的 二.实验环境 三.实验内容及步骤 四.实验代码 五.实验要求 前言 为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴 ...

最新文章

  1. 线性表----单链表
  2. Android——四大组件、六大布局、五大存储
  3. 【最优解法】1087 有多少不同的值 (20分)_17行代码AC
  4. linux安装openssh 密码错误,Linux安装openssh的后门补丁
  5. 对pthread_create未定义的引用
  6. 原理系列:Spark1.x 生态圈一览
  7. 桂林电子科技大学计算机信息管理专业排名,桂林电子科技大学信息科技学院优势专业排名,2021年桂林电子科技大学信息科技学院最好的专业排名...
  8. Windows Phone Local Database Schema Upgrade Part1 - Adding new columns
  9. bzoj4820 [Sdoi2017]硬币游戏 高斯消元+概率+kmp
  10. Netbeans 适配C/C++、JAVA防坑秘笈
  11. 坐火车卧铺,到底是上、中、下哪个好?其实简单对比一下就知道了
  12. GDI和GDI+对象的相互转换(转)
  13. redis 集群热备自动切换sentinel配置实战
  14. HeadFirstJava 7,8,9
  15. log2 3用计算机怎么按,如何使用计算器计算对数log以2为底3的对数,由于计算器2ndf又叫shift,不同计算器不同,请根据图来,因为有一些别...
  16. 继被Twitter永久封杀后!Sci-Hub再遭英国网络运营商封禁!
  17. 两圆的外切线与内切线的切点算法
  18. leetcode第21天格雷编码
  19. 2022年9月电子学会Python等级考试试卷(一级)答案解析
  20. 快速EDAS字体嵌入问题

热门文章

  1. 错误java.lang.NoClassDefFoundError: org/jaxen/VariableContext
  2. SSL/TLS中的DH算法、DHE算法、 ECDHE算法介绍
  3. PDF虚拟打印机的输出目录在注册表里
  4. er ubnt x设置教程_ubnt edgerouter er-x 路由器怎么设置
  5. UCOS操作系统——创建与删除任务(三)
  6. java基本数据类型存放在哪?
  7. 【亲测可行】如何使用Xshell连接服务器(删除服务器,调节终端字号)
  8. iconfont矢量图标在小程序中的使用
  9. 欧拉系统安装+eSight安装
  10. 虚拟机怎么制作镜像文件