一、 作業說明
撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變每個像素的R 值。
注意修改後像素值溢位Overflow 問題(像素值介於0 與255 之間)。
二、 開發環境
- Windows 11
- Visual Studio 2017
- OpenCV - 4.5.5
三、 實作方法
- 利用 imread 讀取圖片,並要求使用者輸入欲改變的值。
- 利用迴圈確認圖片每一個pixel的RGB是否皆相等。
- 若皆相等,代表該圖片為灰階圖像,利用cvtColor將圖片轉成灰階圖像。
- 將圖片傳到函式 change_pic,使用 channels() 判斷圖片為灰階圖像或全彩圖像,並加以調整。
- 同時輸出原本的照片以及調整後的照片。
四、 程式使用方法
- 輸入要修改的圖片檔名
- 輸入修改值
沒有留言:
張貼留言