2022年2月24日 星期四

s1083301 作業 1

 

作業說明:

撰寫一個程式讀取ㄧ張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(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的圖片讀入img1img2

* img2想要改變的圖

3.    接著用channels的函式判斷圖為灰階(channels=1)或全彩(channels=3)

4.    用兩個for迴圈去改變值,如果圖為灰階則全改,如果為全彩則只改R

5.    imshowimg1img2顯示出來

 

執行結果:

        1.    階圖 change_num = 100

        2.    灰階圖 change_num = -100

        3.    全彩圖 change_num = 100

        4.    全彩圖 change_num = -100



 

沒有留言:

張貼留言