2022年2月23日 星期三

s1081543 作業 1

 作業說明:

         撰寫一個程式讀取ㄧ張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值。 注意修改後像素值溢位 Overflow 問題(像素值介於 0 與 255 之間)。


開發環境:

  •       Window10   
  •       Microsoft Visual Studio 2019
  •       C++
  •       OpenCv 4.5.5

程式說明:

  1. 輸入圖片名稱或路徑(如要輸入名稱請把圖片和.cpp檔放一起)
  2. 輸入欲修改的數值
  3. 先透過圖片channel數判斷是否為灰階圖片
  4. 若channel數為1,代表圖片為灰階,則修改其亮度
  5. 若channel數為3,再判斷整張圖片的B, G, R值
  6. 若全都相等,則此圖片為灰階,修改其亮度
  7. 若有不相等,則此圖為一般RGB圖,修改其R值
  8. 輸出結果

執行結果:


左圖為加上70後


左圖為減去70後


左圖為加上90後


左圖為減去90後











沒有留言:

張貼留言