一、 作業說明
輸入圖片路徑、欲調整數值,若圖片為灰階調整亮度,若圖片為彩色則只調整R值。調整後數值超出8bit範圍(0~255)則調整為最大值或最小值。
二、
作業環境
Windows 10、OpenCV 4.5.5、Visual
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通道。
四、 執行結果
圖1.灰階圖數值-100
圖2.灰階圖數值+100
圖3.彩色圖數值-100
圖4.彩色圖數值+100
沒有留言:
張貼留言