作業說明:
撰寫一個程式讀取ㄧ張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值。 注意修改後像素值溢位 Overflow 問題(像素值介於 0 與 255 之間)。
使用環境/語言:
1. Windows10
2. Visual Studio 2019
3. Opencv-4.5.5
4. C++
執行/程式說明:
1. 輸入檔案位置至input_image,並輸入想改變的值至change_num
2. 用imread將在input_image的圖片讀入img1和img2
* img2想要改變的圖
3. 接著用channels的函式判斷圖為灰階(channels值=1)或全彩(channels值=3)
4. 用兩個for迴圈去改變值,如果圖為灰階則全改,如果為全彩則只改R值
5. 用imshow將img1和img2顯示出來
執行結果:
1. 灰階圖 change_num = 100
2. 灰階圖 change_num = -100
3. 全彩圖 change_num = 100
4. 全彩圖 change_num = -100
沒有留言:
張貼留言