2022年2月24日 星期四

s1083304作業1

 

2022年2月24日 星期四

s1083304 作業1


1. 作業說明

            撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。
        如果輸入圖像是灰階圖像,改變每個像素的灰階值,如果輸入圖像是全彩圖像(RGB),
        則只改變每個像素的 R 值。修改後,像素值須介於 0 與 255 之間。

2. 開發環境
        
  •    Window10   
  •    Microsoft Visual Studio Code Ver 1.64
  •    OpenCv 4.5.5
3.實作方法
    
    1.使用cv2.imread讀入圖片,要求使用者輸入欲修改的值。

     2.copy一份同樣圖片並將其data type轉成int32,方便之後計算使用。

     3.撰寫一涵式使用 Pillow 用迴圈比對各個像素的RGB值,若皆相等代表讀入圖片為黑白圖片,
        反之則為彩色圖片。

     5.若為黑白圖片,修改各像素灰階值。若為全彩圖片,僅修改其R值。

     6.用迴圈掃描各個像素,若其RGB值超過255則定其為255,若低於0則定其為0。

     7.最後將data type轉回 uint8,輸出圖片。

4.執行結果

                                                                   彩色圖片 +100    
    

    
                                                                               彩色圖片 -100
            

黑白圖片 +100


黑白圖片 -100









     
        

沒有留言:

張貼留言