matlab 矩阵转置,图像水平翻转,左右翻转,subplot函数

来源:互联网 发布:线性优化的最优解法 编辑:程序博客网 时间:2024/06/14 03:17

声明:笔者关于matlab主题的帖子内容均来自于课堂作业,课堂笔记以及自己在学习过程中查询matlab官方文档获得的学习经验,分享到CSDN一方面是作为自己的学习笔记,另一方面希望可以帮助到和我一样的初学者。题目来自于笔者在美帝学习CS的作业,代码属于笔者原创,转载请注明出处,禁止抄袭。哈哈说的有点严重是因为内容来自美帝课堂,为了博主不被遣返,希望各位看官理解。


题目:

1. 把图片A 转化为灰度图像并存为B。
2. 把图像B转置为TB。
3. 水平变化图像B为HB:B的上半部分成为HB的下半部分,B的下半部分成为HB的上半部分。

4. 对图像B作左右翻转得到FB。

5. 将B,TB,HB 和 FB 按照左上/右上/左下/右下的顺序显示在figure(2)中。


代码:

% task 1 B = rgb2gray(A);             % 灰度图像转换函数rgb2gray  % task 2  TB = B.';                    % TB% task 3  [row,col] = size(B);  B1 = B(1:row/2,:);           % 截取B的上半部分  B2 = B(row/2+1:row,:);       % 截取B的下半部分  HB = [B2;B1];                % 注意中间是分号,如果是逗号的话就表示B2和B1是HB的左右半部分  % task 4  FB = fliplr(B);              % FB  % task 5  figure(2);  subplot(2,2,1);imshow(B);title('B');  subplot(2,2,2);imshow(TB);title('TB');  subplot(2,2,3);imshow(HB);title('HB');  subplot(2,2,4);imshow(FB);title('FB');  


运行结果:




值得注意的地方:

1. 彩图转灰度的函数:rgb2gray

2. 矩阵转置的方法:TB = B.'; 也可使用transpose 函数

3.HB = [B2; B1]; 注意是分号表示B2和B1是HB的上下两部分,如果是逗号表示左右两部分。

4. matlab 提供了一些函数用以实现水平翻转/左右翻转,分别是 flipud fliplr函数,具体使用方法可以去查文档。

5.subplot函数,将显示窗体figure分块,比如subplot(2,2,1);前面两个2表示把窗体分为2行2列四块,后面的1表示左上角的一块,同理subplot(2,2,2)表示右上角的一块。如果要分成1行2列,则写成subplot(1,2,1)和subplot(1,2,2)。

6.imshow函数显示图像,title命令给该图像赋予标题,显示在图像的正上方。

7. 最重要的部分:一定要学会查文档。这是博主在美帝学到的最痛苦也是最有用的一点,和博主在国内上本科的时候截然不同,老师上课不会讲某个具体的函数怎么用,只是在第一节课告诉我们有文档可以用,然后所有的作业全部需要自己查文档去完成。虽然国内老师也有告诉我们可以查文档,但是因为课上老师会仔细讲解各个函数的用法,博主并没有放在心上,加上博主在国内用的文档都是中文版,导致来美帝之后面对一屏幕的英文整个人都是崩溃的,但是在deadline的逼迫之下每次都能奇迹一般完成作业,而且能把每一个用过查过的函数记得牢牢的。而且教授经常会让自己去看matlab某个内置函数的实现代码,然后布置作业让自己定义函数实现相同的功能。我作为初学者受益匪浅,如果有和我一样的初学者可以按照这样的方法去提升自己。


链接在此帮助文档

               https://www.mathworks.com/support/?s_tid=gn_supp

在搜索框输入某个函数或者命令的名称,会出现该函数/命令的功能描述,用法举例等等。我的教授给出的小技巧是直奔example这一项看代码。

以上,希望可以帮助到自己以及看到这篇博客的大家。



原创粉丝点击