寫一個python程式,讀一張衛星雲圖,經過一些處理之後,產生一個新的圖檔。
這個方法適用於各種圖檔,不一定是衛星雲圖。
首先,先到中央氣象局官網下載一張衛星雲圖,正好今天有個宣嵐諾颱風,於是我選了這張黑白的紅外線衛星雲圖。
from PIL import Image import numpy as np file = 'LCC_IR1_MB_2750-2021-08-15-16-40.jpg' im = Image.open(file) # 讀取圖片檔案 r,g,b = im.split() # 影像RGB圖層分割 r_data = np.array(r) # R圖層數值處理 r_data = r_data/2 # R圖層數值減半 r_new = Image.fromarray(r_data,'L') # 建立新的R(紅光)影像 im2 = Image.merge('RGB',(r_new,g,b)) #im2.show() im2.save('NewImage.jpg') # 存圖檔
其中
r_data = np.array(r) # R圖層數值處理 r_data = r_data/2 # R圖層數值減半 r_new = Image.fromarray(r_data,'L') # 建立新的R(紅光)影像
為了要讓輸出的圖與輸入的圖有差異,於是把R圖層轉換為numpy物件進行數值的計算,在轉換回Image的物件。要注意,圖層中的數值必需是0~255之間的整數,所以必須先把數值型態轉換為無號短整數(uint8)再轉為Image物件。
程式執行後得到的新圖為:
沒有留言:
張貼留言