撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v
(-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。
二. 環境
- Windows 10
- Visual Studio 2017 C# with EmguCV 3.4.3 (Nuget)
(EmguCV為OpenCV在.Net平台上的包裝套件,C#可直接新增專案利用Nuget套件管理來快速安裝EmguCV,缺點就是新專案都要重新安裝一次)
三. 程式說明
利用C#的Windows Form來建立GUI介面,包含trackbar、open/save FileDialog、picturebox等等 (當然也可以用EmguCV提供的GUI元件),然後利用EmguCV對應的function來讀取、修改、儲存圖片。
- 讀取、儲存: 利用Image<>這個class來讀取、儲存圖片
- 修改: 利用Mat.ConvertTo這個function來對圖片做線性的轉換 (固定alpha為1只修改beta代表修改圖片的明暗程度)
官方API文件說明可參考: Here
四. 程式結果
Fig1. 程式初始介面,左邊tarckbar用來調整亮度並顯示數值,上方可開啟儲存圖片
Fig2. 開啟圖片後 (未修改)
Fig3. 上方有個Compare功能可以開啟比對原圖功能
,左邊為修改後(亮度+100)、右邊為原圖
Fig4. 左邊為修改後(亮度-100)、右邊為原圖
Fig5. 利用上方的Save可以儲存修改後的圖片
沒有留言:
張貼留言