2022年2月24日 星期四

s1073331 作業1

一、 作業說明

  輸入圖片路徑、欲調整數值,若圖片為灰階調整亮度,若圖片為彩色則只調整R值。調整後數值超出8bit範圍(0~255)則調整為最大值或最小值。

二、 作業環境

Windows 10OpenCV 4.5.5Visual Studio 2017

三、  實作方法

1.將要輸入的圖片放入專案資料夾內,編譯程式後輸入檔案名稱,如:apple.jpg。如放入圖片錯誤或名稱錯誤會跳出提示並結束程式。

2.成功載入後,輸入要增加的值大小,程式會自行判斷圖片格式,做turn_red()或是turn_gray()

3.最後會跳出視窗顯示修改過後的結果。

(1)程式說明:

程式碼fuction主要有3個。

bool grayscale(int h, int w, Mat image)

判斷是否為灰階圖片,判斷依據為看三通道的數值有無相同。

Mat turn_gray(int h, int w, int val, Mat image)

如果是灰階圖片,則用此fuction<Vec3b>3通道逐一改值。

Mat turn_red(int h, int w, int val, Mat image)

如果是彩色圖片,則用此fuction,而只改<Vec3b>R通道。

 

四、  執行結果

灰階圖騙數值-100
圖1.灰階圖數值-100


圖2.灰階圖數值+100

圖3.彩色圖數值-100


                        
圖4.彩色圖數值+100




 

沒有留言:

張貼留言