2022年2月24日 星期四

s1081509 作業1

 作業說明:

        撰寫一個程式讀取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

沒有留言:

張貼留言