作業說明:
撰寫一個程式讀取1張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值。 注意修改後像素值溢位 Overflow 問題(像素值介於 0 與 255 之間)。
開發環境:
Ubuntu-20.04
Vim 8.2
CMake 3.16.3
OpenCV 4.2.0
程式功能:
1. imread()讀圖片
2. 抽一個pixel出來看,若3個channels為相同則為灰階圖像,反之彩色
3. 先判斷加入數值後是否超過255或小於0,
若超過255,灰階圖像每個channel都定為255,若小於255,則每個都定為0,其餘則直接計算
若超過255,彩色圖像R channel定為255,若小於255,則定為0,其餘則直接計算
4. 用imwrite output
執行結果:
- gray 100
- gray -100
- RGB 100
- RBG -100
沒有留言:
張貼留言