2022年2月24日 星期四

s1081526 作業1

 

1.開發環境:

  • opencv:4.5.5
  • windows10
  • visual studio 2019,c++

2.作業說明:

我寫了一個函式叫:isGray(),把Mat型別的物件放進去他就會判斷是灰階徒還是彩色圖。

(如果是灰階圖的話每個像素各自的rgb都會視同個值,以此判斷)

然後是colorPic()和grayPic(),分別負責處理彩色圖和灰階圖。

對於彩色圖,因為只要更改r值,因此將每個像素的r值加上輸入的數值就好。(但我為了保險,所以有另外宣告一個與圖相同但陣列內部是空的copy,因此b和g的值也要在每次更動r值時一起賦值過去)

對於灰階圖,將gbr皆加上指定值即可。

對於修正溢位是用saturate_cast<uchar>()


一開始會讓使用者輸入數字


灰階圖片+125

彩色圖片+125

灰階圖片-125

彩色圖片-125




沒有留言:

張貼留言