要使用Python進行圖像的HDR(高動態范圍)處理,可以使用OpenCV庫和numpy庫來實現。下面是一個簡單的示例代碼:
import cv2
import numpy as np
# 讀取多張曝光不同的圖像
img1 = cv2.imread('img1.jpg')
img2 = cv2.imread('img2.jpg')
img3 = cv2.imread('img3.jpg')
# 將圖像轉換為浮點數類型
img1 = img1.astype(np.float32) / 255.0
img2 = img2.astype(np.float32) / 255.0
img3 = img3.astype(np.float32) / 255.0
# 合成HDR圖像
hdr = cv2.createMergeDebevec()
hdr_image = hdr.process([img1, img2, img3], times=[1, 2, 4])
# 將HDR圖像保存為結果
cv2.imwrite('hdr_image.jpg', hdr_image * 255)
在這個示例中,我們首先讀取三張曝光不同的圖像,然后將它們轉換為浮點數類型,并使用cv2.createMergeDebevec()
方法合成HDR圖像。最后,將HDR圖像保存為結果。請注意,這個示例代碼僅用于演示目的,實際使用中可以根據需要進行參數調整和優化。