原创 《 MATLAB科学计算从入门到精通》书评

2024-1-9 12:10 771 6 4 分类: 软件与OS 文集: 评测

《MATLAB科学计算从入门到精通》书评

最近收到了面包板社区的《MATLAB科学计算从入门到精通》这本书,现在已经看完了,所以对此写一篇评价。

我本身是电子学专业的,但是修了第二专业,是数学与应用数学,在工作中又大量使用MATLAB这款软件,所以对此非常熟悉,也看过不少相关方面的书。这本书总体来说,偏简单,非常适合入门,就是写给0基础的小白看的书,如果是数学专业或者控制等相关的专业,很适合用这样一本书来入门。

本书的第一章是对MATLAB的基础介绍,简单讲解了一些MATLAB的基础知识,例如数据类型、句柄等操作。第二到第十五章,是针对不同的数学理论,用MATLAB的实现,例如常微分方程、拉格朗日差值公式等。

第二到第十五章的讲解逻辑大致如下:

  1. 介绍理论
  2. 介绍使用的函数
  3. 给出例子和代码

这样的讲解逻辑,可以很轻松的读懂,并且附有例子和代码,便理解和练习。总体来说,这是一本不错的书,讲解的算是比较详细了,对于新手来说,算是比较友好的,很适合初学者观看,当然,如果是把这本是当做是一本工具书来使用,那也是非常方便,因为各个知识点分的比较清楚,便于查询。在阅读这本书时,唯一要注意的点是,这本书并没有包含MATLAB的使用教程,你可能需要花大约一个小时左右,对MATLAB这个软件有基本的了解,比如工作区等是什么东西,怎么使用,再去阅读。

讲了这么多,我们用书中讲解的东西来举个例子,考虑到只是测评,并且有很多新人看,所以就选一个简单点的问题。

题目:已将一张图片分为如下两张图,请将两张图正确拼接成一个图

m2 m3

首先,应当是用Matlab读取这个图像,然后变成灰度的图像,再将灰度图像二值化,代码用到的函数可以在书的第十二章查到:

a = imread('m2.png');%读取第一张图,叫a

subplot(4,2,1);%将图像窗口分成4*2个部分,在序号1的部分显示

imshow(a);%显示图a

b = imread('m3.png');

subplot(4,2,2);

imshow(b);

c = rgb2gray(a);%将图a转化为灰度,并叫c

subplot(4,2,3);

imshow(c);

d = rgb2gray(b);

subplot(4,2,4);

imshow(d);

e = imbinarize(c,0.5);%将图c二值化,并叫e

subplot(4,2,5);

imshow(e);

f = imbinarize(d,0.5);

subplot(4,2,6);

imshow(f);

结果为:

为什么要这样操作呢,因为图片实际上就是一堆数值的矩阵,彩色图像是三维矩阵,处理起来比较麻烦,如果能转换成二维矩阵,那么处理起来就很方便了,灰度图像就是一个二维矩阵。

灰度转化后,我们还是能出来图像的大致构成,因为灰度是一个范围,可以理解成,目前的图像是由五彩斑斓的黑构成的,不同的地方黑的不一样。我们可以对图像进一步处理,变成一个只有黑和白的图像,就是图像的二值化。

二值化后,图像的特征就极为明显了,我们用朴素的观察法,就能直接看出应该如何拼接图像,但是咱就假装看不出来,用点别的方法处理。

图片变成黑白的,为什么是二值化呢?因为现在矩阵e和f中,只有两个值,1和0,黑用0表示,白用1表示。那接下来问题就很简单了,只要检测矩阵边缘元素的0和1分布情况,相似的话,就应该拼接在一起。

首先我们先看一下两个矩阵的大小:

两个矩阵都是456行,说明应该从图片的长边拼接,就是e的最左边或者最右边跟f的最左边或者最右边拼接在一起。为了方便,e最左边命名为e1,最右边命名为e2,同样的有f1和f2,

那我们只需要检测这四个边元素的差异情况就行了,我们用最简单的方式进行,统计四条边有多少个1。能拼接在一起的两条边,1的数量应该相差不多,结果如下:

可以看到,应当是e2与f2拼接在一起,放在原图中,应该是图a的右边与图b的右边拼接在一起。那么,就需要先将图b旋转180°,然后与图a拼接,这样就可以得到一个完整的图像,最后又将合成后的图像逆时针旋转270°,方便观察,代码为:

结果为:

到此,这个题目就做完了。当然,这是一个简单到不能再简单的例子,运用书中的知识,可以轻松解决,我十分推荐初学者看这本书,可以快速入门MATLAB科学计算。总的来说,这本书的体验感海曙相当不错的,条理清楚,又带有案例,新手可以快速上手,哪怕是当成工具书,也能快速查阅并学会想要的知识点。

作者: 浩瀚星蓝, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3915834.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条