這個部落格有一個系列文:
12th 鐵人賽 – 【錢不夠買ps的我,只好用OpenCV來修圖了!】
分享了非常多好用的圖片後製方法
這邊分享幾個我覺得不錯的
黑強化
強化有顏色區域的深度
# do pre-process (black strengthen) in OCR def image_filter(img, degree = 3): # degree is from 0 to Unlimited, bigger number => bigger strengthen decrease_img = (255.0/1)*(img/(255.0/1))**degree decrease_img = np.array(decrease_img, dtype=np.uint8) return decrease_img
白平衡
圖像光照校正處理
def mean_white_balance(img): b, g, r = cv2.split(img) r_avg = cv2.mean(r)[0] g_avg = cv2.mean(g)[0] b_avg = cv2.mean(b)[0] k = (r_avg + g_avg + b_avg) / 3 kr = k / r_avg kg = k / g_avg kb = k / b_avg r = cv2.addWeighted(src1=r, alpha=kr, src2=0, beta=0, gamma=0) g = cv2.addWeighted(src1=g, alpha=kg, src2=0, beta=0, gamma=0) b = cv2.addWeighted(src1=b, alpha=kb, src2=0, beta=0, gamma=0) balance_img = cv2.merge([b, g, r]) return balance_img
雙邊濾波
雙邊濾波(Bilateral filter)是一種非線性的濾波方法,是結合圖像的空間鄰近度和像素值相似度的一種折衷處理,同時考慮空域信息和灰度相似性,達到保邊去噪的目的。具有簡單、非迭代、局部的特點。
image = cv2.bilateralFilter(image, 5, 30, 30)