作業說明:
撰寫一個程式讀取ㄧ張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值。 注意修改後像素值溢位 Overflow 問題(像素值介於 0 與 255 之間)。
開發環境:
- Window10
- Microsoft Visual Studio 2019
- C++
- OpenCv 4.5.5
程式說明:
- 輸入圖片名稱或路徑(如要輸入名稱請把圖片和.cpp檔放一起)
- 輸入欲修改的數值
- 先透過圖片channel數判斷是否為灰階圖片
- 若channel數為1,代表圖片為灰階,則修改其亮度
- 若channel數為3,再判斷整張圖片的B, G, R值
- 若全都相等,則此圖片為灰階,修改其亮度
- 若有不相等,則此圖為一般RGB圖,修改其R值
- 輸出結果
執行結果:
左圖為加上70後
左圖為減去70後
左圖為加上90後
左圖為減去90後
沒有留言:
張貼留言