2022年2月24日 星期四

s1081506 作業1

作業說明:

程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。

如果輸入圖像是灰階圖像,改變每個像素的灰階值。

如果輸入圖像是全彩圖像(RGB),則只改變每個像素的 R 值。

修改後仍像素值介於 0 與 255 之間。


使用環境/語言:

Windows10

Visual Studio 2019

Opencv-4.3.0

C++


實作方法(執行步驟):

1. 每次讀入圖片前確認是否結束程式

2. 輸入圖片路徑後imread()讀入圖片

3. Mat.empty()判斷圖片是否存在

4. 若圖片不存在或發生例外時輸出錯誤訊息並結束程式

5. Mat.channels()判斷圖像為彩色圖或灰階圖

6. 輸入要對同一張圖片執行的次數

7. 輸入像素值

8. 彩色圖加上r值;灰階圖加上灰階值

9. imshow()讓程式產生原圖與新圖之對照視窗

10. waitKey(0)等待按鍵後destroyWindow()關閉視窗執行步驟7或6


實作結果(左為程式輸出之新圖; 右為輸入之原圖):

    輸入彩色圖:

        0 :

        +100 :
    
        +256 :
        -100 :
        -256 :

    輸入灰階圖:

        0 :

        +100 :
        +256 :

        -100 :
        -256 :



沒有留言:

張貼留言