2022年2月24日 星期四

s1073513 作業 1

 

1. 作業說明:

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

    • Windows 10

    • Visual Studio 2019

    • OpenCV4.5.5

3. 程式流程:

  1. 輸入所要更改的圖片位置以及檔名 EX: C:\Users\RTX2070\Desktop\影像處理概論\lennaRGB.tif           
  2. 輸入要改變的數值 EX: 100 , -125
  3. 藉由遍歷像素判斷輸入的圖是RGB圖片還是灰階圖片
  4. 依照題目說明更改值,並使用saturate_cast<uchar>()來防止overflow
  5. 顯示更改後的圖片,若為灰階圖像,需改變像素的灰階值;若為全彩圖像,只改變像素的R值。

4. 執行結果:

    
+125

-125

125

-125


  

沒有留言:

張貼留言