設計一個集成各種圖像處理算法的軟件(前幾次作業已經實現的算法、功能)
一、平臺
使用平臺:VS2015+MFC
語言:C語言
VS: Microsoft Visual Studio(簡稱VS)是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟件生命週期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用於微軟支持的所有平臺,包括Microsoft
Windows、Windows Mobile、Windows
CE、.NET Framework、.NET Compact
Framework和Microsoft Silverlight 及Windows Phone。
MFC: 微軟基礎類庫(英語:Microsoft Foundation Classes,簡稱MFC)是微軟公司提供的一個類庫(class libraries),以C++類的形式封裝了Windows API,並且包含一個應用程序框架,以減少應用程序開發人員的工作量。其中包含大量Windows句柄封裝類和很多Windows的內建控件和組件的封裝類。
界面如下:
二、實現功能
1、打開圖片文件
點擊“打開”按鈕,即可選擇圖片文件進行打開並在左側窗口顯示出來。
目前只支持.bmp格式的圖片。
2、圖像取反
點擊“圖像取反”按鈕,可對原圖進行取反操作。
3、直方圖均衡化
(注:這一步的操作是有問題的,彩色直方圖均衡化不應該對RGB三通道分別操作,關於這一問題以後會說到,這裏就不多說了)
4、冪次變換
輸入v*10的值,點擊冪次變換按鈕實現冪次變換。
三、遇到問題
MFC讀取的是bmp格式文件,最開始調試時想看一下讀取的數據對不對,就把數據輸出看了一下,結果如上,左是原圖,右是輸出的圖。可以看到不僅左右上下翻轉了,圖像顏色也變了。
關於翻轉,是因爲bmp格式讀取圖像順序的原因,這個老師講過。
關於顏色也變化就於點好奇,,,上網查了一下,原來bmp格式不是RGB格式而是BGR這個順序。
不過還挺好看的:)
反思:
這周的作業,前段時間一直在糾結用MFC還是QT,最後先學會了MFC便用了MFC。寫的代碼架構不太好,有點亂。
附代碼:
代碼有點長,還是之後有時間上傳到github吧,到時候會在這裏更新地址