随想录(matlab学习)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/feixiaoxing/article/details/81606737

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

    读研究生的时候,虽然专业是图像处理相关的内容,但是用matlab的机会本身其实不多。当时自己认为,matlab是一门非常low的语言。就算学好了matlab,在实际开发工作中也用不到,毕竟实际项目中用到的语言还是以c和cpp为主。

    最近项目中需要涉及到图像处理相关的内容,自己除了找一些opencv的书籍看,也会涉及到一些论文。这其中很多论文都会把自己的code公布出来,放到github上面,这给阅读论文的读者提供了很大的方便。对于看不懂的论文,我也会试着去看看matlab代码是怎么写的。这一看,还真发现了一些以前没有注意的东西,matlab语言其实非常简洁,和python真的很像。

1、文件以m结尾

2、变量不需要定义

3、所有操作都是基于函数

4、单独函数可以提炼出一个m文件

5、函数和文件要一致

6、matlab画图很方便

7、matlab也可以开发GUI程序

8、matlab中矩阵处理很方便

9、matlab提供的函数功能强大

a、matlab可以和c相互调用

b、simulink图形化工具也好用,拖拖拉拉就可以得出仿真效果

c、可以在matlab函数文件中定义主函数和次函数

    matlab本身提供了很多功能包,不光是计算机领域,还有电子领域、自动化领域、机械领域等等,它使得研究者专注于算法、流程和性能本身,不需要考虑驱动、接口、程序、并发等计算机开发相关的知识。

    当然,由于matlab本身是收费软件。很多研究者也开始慢慢往python方向转。这中间,opencv、scipy、numpy、pandas、matpotlib这些库文件,在很大程度上帮助了研究人员。除此之外,python优势很大,因为它提供的组建更多,功能更丰富,最关键的一点,python本身是开源软件,使用上没有任何的烦恼和担忧。

    不管是c、java、python还是matlab,本身都是为了解决问题而来。建议大家平时在编写代码的时候也可以多多关注算法、论文和理论这一块,很多复杂的理论其实看一下matlab代码,自己也可以理解和掌握。对于程序员来说,看代码是强项,如果没有办法理解论文,不妨先从代码这块去入手。

    最后,可以举两个例子说明问题,看看用matlab来做一个图像灰化是多简单,

i=imread('people.bmp');
j=rgb2gray(i);
imshow(j);

    大家可以试想一下,如果上面的代码在windows上面写、或者是用qt在linux上写,需要多少行的c代码才能完成类似的功能。当然大家如果觉得不过瘾,我们可以看一下用matlab读取视频图像要几行代码,

v = videoinput('winvideo', 1);
frame = getsnapshot(v);
figure; imshow(frame);

    所有语言中,能够做到这么简洁开发的,恐怕除了matlab之外,只有python了。当然,最后给出一个matlab的在线教程,有兴趣的同学可以去看看。https://www.yiibai.com/matlab/

    此外,如果有同学不喜欢matlab,但是又需要matlab开发,那么可以试试gnu octave,会有意外的惊喜。链接地址如下所示,http://www.gnu.org/software/octave/

猜你喜欢

转载自blog.csdn.net/feixiaoxing/article/details/81606737