矩阵的直接创建

a = [1,2,3:4,5,6:7,8,9]

即a为一个3x3的矩阵:

a =

1  2  3

4  5  6

7  8  9

关于矩阵操作,来看一个问题:

编写一个程序m文件,用于构建和显示包含大小为c×c像素的白色正方形的图像,该程序自动以大小为N x N像素(N = 256)的黑色背景为中心

由图像知识可知,像素值可取0~255之间,0为黑,255为白

代码如下:

a = zeros(256);%创建零矩阵 256*256
cc = 32; %这里令中间的白色正方形大小为32*32
a((N-cc)/2:(N+cc)/2,(N-cc)/2:(N+cc)/2)=255; %将中间变成白色,即赋值为255
imshow(a) %显示图像

显示出来

同理,画一些更复杂的图形:

%在上述图形的基础上再加一些白色图形
a(115:145,:)=255;
a(:,115:145)=255;

这里用到了MATLAB的矩阵赋值,将一些特定的位置(多值)赋特殊值:

A为矩阵,操作A的a行到b行,c列到d列中的数字,其语句为A(a:b,c:d)=m; m为目标值,这里希望改成白色,故赋值为255,叠加上次的中心白色。可以得到下图:

在这里看到最开始的小方格被挡住了一些,但是还能看到一个小角(额...参数设计得不好,忽略这些细节)

在我们查询变量的时候发现,矩阵的115行开始,都变成了255,印证了刚刚的变量,从115-145,当全选这一 列/行 时,可以省去数字,这里省去了列,因为我们想要一整行的白条。(行的也同理,得到了一个整个竖列)

遵从上面的规律,画什么都ok的啦

参考代码:

%利用好循环,可以一层层叠“图形”
clc;
a = zeros(256);
for i =10:10:120
a(i:(256-i),i:(256-i))=255;  %加一块白
a((i+3:253-i),(i+3:253-i))=0; %在同一个循环里再加一块小一点的黑
endimshow(a)

总结:由此可见,MATLAB中的图像操作最基本的是矩阵的操作。 在后续的图像处理中(e.g.傅里叶变换),优先对矩阵进行操作。在基础上首先熟练各种矩阵应用。

MATLAB图像处理——矩阵操作相关推荐

  1. 大数据矩阵计算基础(二):R、Excel、Matlab中矩阵操作

    一.R语言 构造矩阵 a=matrix(c(1,2,3,4),ncol=2,byrow=T) b=matrix(c(5,6,7,8),ncol=2,byrow=T) c=matrix(c(1,2,3, ...

  2. 【MATLAB】矩阵操作 ( 矩阵构造 | 矩阵运算 )

    文章目录 一.矩阵构造 1.列举元素 2.顺序列举 3.矩阵重复设置 4.生成元素 1 矩阵 二.矩阵计算 1.矩阵相加 2.矩阵相减 3.矩阵相乘 4.矩阵对应相乘 5.矩阵相除 6.矩阵对应相除 ...

  3. 【Matlab】矩阵操作

    矩阵操作 生成矩阵 生成行矩阵的方式: 冒号表达式 x = 1:1:5 % 1 2 3 4 5 以步长为1,从1到5生成数值,构成行矩阵. 若不设置步长,则默认步长为1. linspace(a, b, ...

  4. 7.MATLAB变量——矩阵操作二

    FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...

  5. 【MATLAB】矩阵操作 ( 矩阵下标 | 矩阵下标排列规则 )

    文章目录 一.矩阵构造 1.获取指定位置的矩阵元素 2.获取指定行的元素 3.获取指定列的元素 二.矩阵下标排列顺序 一.矩阵构造 1.获取指定位置的矩阵元素 获取矩阵指定行列元素的方法 : % 生成 ...

  6. 6.MATLAB变量——矩阵操作一

    FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...

  7. 范德蒙德矩阵在MATLAB中怎么表示,Python 之 Python与MATLAB 矩阵操作总结

    Python 之 Python与MATLAB 矩阵操作小结 一.线形代数理论基础 线形代数(linear algebra)是数学的一个分支,研究矩阵理论.向量空间.线性变换和有限维线形方程组等内容. ...

  8. matlab能用矩阵操作就不要用for循环

    1.MATLAB尽量少用for循环来操作矩阵,多用本身的矩阵操作函数 比如,想将矩阵的第三列通过第二列计算得到,以下两种方式得到的结果一致,但不用for更简洁. a = 6; feature_labe ...

  9. matlab图像处理创建项目,《MATLAB图像处理超级学习手册》一一2.1 矩阵的创建

    本节书摘来自异步社区出版社<MATLAB图像处理超级学习手册>一书中的第2章,第2.1节,作者:MATLAB技术联盟 , 张岩 更多章节内容可以访问云栖社区"异步社区" ...

最新文章

  1. ​Nature子刊:中德合作发现玉米根系与根际有益微生物互惠关键生物学机制
  2. Ubuntu 14.04 LTS, 64bit, cuda 7, Caffe环境配置编译和安装
  3. 【视频】谷歌大佬30分钟让你入门机器学习(2019谷歌I/O资源分享)
  4. jQuery插件 -- Cookie插件jquery.cookie.js(转)
  5. pagehelper工具类_PageHelper最佳实践
  6. 360浏览器清除缓存_手机微信内置浏览器缓存清理指南
  7. 滑动到底部或顶部响应的ScrollView实现
  8. WINCC冗余、上位机冗余详细教程
  9. windows 中获取字体文件名
  10. Python实战系列-爬取网页内容
  11. 入行网络攻城狮的自述
  12. Debian9开机:firmware: failed to load rtl_nic/rtl8168g-3.fw (-2)
  13. Android Studio 插件-Android Styler 的使用
  14. arm linux打印机驱动编译方法,嵌入式linux驱动打印机HP系列
  15. Spark常见面试题及解答
  16. 物竞天择2 NS2 -MOD制作教程 -制作工具
  17. jquery操作表格 合并单元格
  18. GBase8s数据库以 RESTRICT 方式或 CASCADE 方式删除安全标签对象
  19. java小知识:如何查看class文件的jdk版本
  20. 用计算机对视频进行剪裁和编辑,Win10系统剪裁视频功能怎么用?windows10剪裁视频功能使用方法介绍...

热门文章

  1. 强化学习笔记二 -- MDP
  2. 将 Linux 上的 VSCode 字体更改为 Consolas
  3. 【全志R329-NPU助力】Maix-Speech为嵌入式环境设计的离线语音库
  4. C语言程序设计谭浩强版 九
  5. (基于Packet Tracer 的校园网络设计方案(计算机网络与课程实验)(三)——Run Time 观察报文传输过程
  6. 微信开发者工具跨域问题
  7. 用grads读取txt中经纬度画站点图
  8. 移动比联通强的原因^_^
  9. 计算机领域cip是什么意思,版权页上的CIP数据是什么意思?
  10. ADMM算法相关资源