標籤:

做圖像處理的研究生除了要學習MATLAB外,還要學習什麼編程語言,利用什麼編程軟體?謝謝回答。謝謝?


如果你非要從c c++ python之間選一個,那肯定選c++不用糾結了。

會了c++,你自然會用c。

會了c++,學python也是分分鐘。

要用並行計算,cuda opencl,也是c++。

各種庫,還兼具效率的,還是c++。

看你這糾結的姿勢,說不定以後改行不做圖像處理了。那麼對其他方向找工作來說,最有幫助的還是c++。


就研究生而言,關注的重點應該更偏學術,而不是工業實現。當然,如果你的導師屬於那種接了很多工程項目的,那隻能算你被帶偏了。任何語言都是工具(類似武功裡面的招式),演算法才是靈魂(類似內功心法)。內功修為到了一定層次,折根樹枝也能當劍使。原則上來說,任何語言都能用來做圖像編程開發,java, vb, python, r, c++, matlab 等等等等。但是你的目的,以及是否好用適用,決定了你具體選擇什麼工具。

C++(一般的IDE是VS中的 VC)和MATLAB是圖像處理的兩大語言陣營。但是C++一般要配合opencv來用,opencv是演算法包、工具箱、函數庫。就像python和java裡面也有相應的演算法包、工具箱、函數庫一樣。

作為一個圖像處理的研究生,如果你更關注演算法創新,那麼就數字圖像處理「演算法研究」而言,MATLAB 是最方便、最重要的工具(沒有之一),你會發現國際會議上很多paper的源碼就是用matlab寫的,這也證明學術界對matlab接受度很高,或者說推崇備至。因為有時候學術研究也是賽跑,可能一個好的idea很多人會同時想到,但誰能先實現出來,那發表權就是誰的了:)

當然,你將來是要畢業的,畢業了你可能面對就業,就業你可以希望投身產業界,那麼C++是一個不錯的選擇。即使你不再從事圖像處理方向,懂得C++去找份不錯的研發工作也很容易。C++配上opencv來做圖像處理是很方便的,雖然代碼仍然比用matlab寫的要長很多。

另外有人會說python。現在隨著數據科學和機器學習的興起,python也越來越廣泛。另外一方面,很多做圖像處理的人,其實是在做機器視覺。但是很多機器視覺其實需要用到機器學習的一些東西,這個時候有人就會去選擇python,當然其實你還是需要用到python的機器學習演算法包scikit-learn等等。當然,opencv 和 matlab也不甘人後,它們其實都有提供機器學習、神經網路、數據挖掘等等方面的工具箱或者函數庫。

希望我的回答對你有所幫助。


你好,我是ImageJ的開發者之一,現在我推出了更為強大,擴展更方便的ImagePy,依然開源免費,基於Python開發,可以輕鬆接入Scikit-image,OpenCV,ITK 等任何基於Numpy的第三方庫,讓開發變得無比高效和輕鬆。

主界面

細胞計數

圖像匹配

地表重建地表重建地表重建地表重建

三維重建

目前開發,文檔,推廣都只有我一個人在做,希望更多的圖像處理愛好者多多支持,更多信息請關注 ImagePy 開源圖像處理框架 - 知乎專欄


這得看你的研究方向,或者說你具體做啥…

你要是想做偏計算機視覺的就肯定要用到opencv,用opencv話推薦還是學c++,有個網站叫http://learncpp.com特別適合零基礎學習c++。答主是小白,一點一點學習的…

Matlab呢比較適合你自己有好多好多的idea,用Matlab自己寫個函數驗證一下你的想法等等。我的小導師他就是只用Matlab…但是他用的非常的6…搞學術嘛(微笑臉)

當然Matlab裡面也有很多的app或者叫工具箱吧、代碼都是封裝好的、給你提供GUI界面,比如標定工具箱啊等等、把標定板照片import進去Matlab就自己給你算內參外參了。方便,特別方便,但是不利於增長知識提高技能。

還有一門語言叫做python,這是一門很火的語言,也可以說是萬能的語言、膠水語言嘛(微笑臉)如果你做圖像處理要用到深度學習或者機器學習、那麼你直接學python吧。一開始可以看看官方的tutorial啥的,熟悉一下基本的語法,但是一直看真的木用的。需要找本書有具體項目例子的。跟著實現一遍。ide的話,看什麼操作系統、pycharm是通用的還有Spyder,windows下還有python(x,y)

最後,勤問你的師兄師姐才是最正確的選擇。他們在一定程度上說是你的前輩,或許走過了你沒走過的路。

世界上最難的語言是什麼?

你學的第一門語言。

所以,堅持下去就是一種成功!加油!

最後祝題主學業進步!

手機碼字好辛苦……


  • Java - ImageJ,基於Java語言的圖像處理軟體,可以讀取很多圖像格式,在微觀圖像處理中廣泛應用。官方網站:ImageJ,推薦參考書:Digital Image Processing: An Algorithmic
    Introduction using Java, W. Burger, M. James Burge, Springer, 2007
  • C++/Python - OpenCV,原本是Intel開發的,被廣泛讚譽的開源圖像處理庫,包含豐富的編程函數,同時提供了Java和Python介面。同時具備強悍的跨平台能力。它專註於實時的計算機視覺編程。官方網站:OpenCV | OpenCV。推薦參考書 Learning OpenCV: Computer Vision with
    the OpenCV Library, G. Bradski, A. Koehler, O"Reilly, 2008
  • ITK - MeVisLab,一個德國人開發的開源跨平台系統,常用於圖像分割和配准,在醫學圖像處理中被廣泛應用。官方網站ITK: ITK - Segmentation Registration Toolkit, MeVisLab:

    MeVisLab: MeVisLab


選用c++語言,然後使用MFC界面,opencv圖像處理庫,這兩個可以滿足項目中的圖像處理需求了


圖像處理是一個大學科,如果只是想停留在圖像處理層面,那就MATLAB,opencv(c++)就足夠了。考慮到找工作,一定要熟悉c++。

如果不是僅僅在圖像層面,會涉及到立體視覺之類的,還需要用OpenGL之類的。

如果和機器學習,計算機視覺方面的跟蹤檢測等等扯上關係的話,還需要Python。至於說gpu編程之類的等研究方向定了再說吧,不著急。

綜上,matlab和cpp是必備。別的看情況補!


Processing!OpenProcessing

或者 python 也不錯~


IDL ,主要是天文學和搞遙感的在用,不過用在普通圖像上還不是手到擒來,哈哈。


要是以就業為目的一定要學c++,matlab就算了,找工作很少有公司願意招只會matlab的人。當然,有能力發頂刊的人,隨便你用什麼語言


我也是學習圖像處理的研究生,我只會Java,C++不會,現在剛開始學MATLAB,應該可以吧 ,有沒有高手指導一下啊,現在處於迷茫期


C++,現在的opencv已經開始去C化.


python,開發軟體pycharm 如果是純科學運算,python已經可以代替,因為有numpy和scipy的支持,雖然模擬方面相對Matlab還是次了點,不過有matplotlib的存在,也不賴。再說python相對Matlab的優點,1在圖像處理領域有強大的圖像處理庫opencv的支持,2python做應用開發非常便捷,特別是圖形界面開發,有wxpython的支持。

C/C++ ,開發軟體VS,codeblocks

如果演算法要求速度性能高,那就要使用C/C++進行開發了


推薦閱讀:

opencv,halcon與matlab都有圖像處理的相關功能,它們有什麼聯繫和區別?
求問matlab圖像處理相關入門和深化的方法或者書籍?
圖像處理專業的哪些方向就業比較好(碩士),主要去哪些公司?
入門 C++,求介紹經驗?
計算機視覺有哪些不錯的博客可以推薦?

TAG:圖像處理 |