1. 程式人生 > >Matlab的MFC——matlab上GUI的設計與影象去模糊系統

Matlab的MFC——matlab上GUI的設計與影象去模糊系統

       研究影象去模糊的演算法也有一段時間了,從最開始對賈佳亞08年的一篇文章演算法的研究到現在,也模擬對比了不少演算法。不知道大牛們會怎麼看,但是對於我這樣剛剛走到門檻的人來說,這行的水很深。沒有一個大家帶著入門,光靠自己研究很難找對正確的方向。

      說來說去,影象去模糊無非有兩個過程,第一:尋找模糊核。第二:去卷積。早期的去模糊演算法都是非盲復原的演算法,也就是需要預先知道PSF,只注重於去卷積的過程。去卷積的方法就多了去了,從經典又好用的RL演算法,到逐漸被淘汰的各種濾波演算法,到現在比較流行的迭代的辦法。除了個別大牛還可以在迭代的解法上有所創新,個人感覺去卷積方向上大多數人都在研究怎麼抑制振鈴效應,這幾年的文章對振鈴效應處理已經有了不小的成果。尋找模糊核的工作近些年好像沒有特別大的進展,新出的演算法大多還是建立在梯度資訊上,通過不同數學模型的模擬,或者利用多尺度的資訊,或者利用別的增強邊緣的資訊,對凸或者非凸的模型進行迭代或者直接的求解。迭代的作用也從最開始的解決模糊核過程的非凸問題,到現在出現的將求解模糊核過程與去卷積過程放到一個迴圈過程中對最佳結果進行逼近。

      之前做超解析度復原或者模式識別的專案的時候,習慣於用VS搭載OPENCV庫進行模擬,也許這會比單純用MATLAB複雜些,但靈活性更強,自己可以掌控的東西更多一些。但在做去模糊系統的時候卻遇到了不少困難。OPENCV對頻域的處理功能並不全面,資料也不多。網上大牛們較新的成果直接用EXE來展示,看不見過程,看不懂論文,看到大牛們的好結果只能乾著急。這次來不及了,只好用matlab做了個模擬,看以後有時間再改成C++的。

       剛好這段時間有個專案要驗收,我想著總不能赤裸裸的那段matlab程式碼去跑給人家看吧,總得做個GUI給裝裝門面。想起之前師兄推薦的一個文件《一個例項搞定MATLAB介面程式設計》,對著上面操作了一遍,居然就會了。如果大家有一點點MFC的基礎,相信都會覺得很簡單。常用的函式無非那麼幾個,getappdata/setappdata,get/set等等,然後把matlab封裝好的函式加進去,半小時就搞定了。

        以上的東西有點亂,算是這幾天做的東西的一點總結吧。希望可以在csdn上認識更多的大牛,向大家看齊!