File size: 611 Bytes
e651999 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import cv2
import numpy as np
from PIL import Image, ImageEnhance
# 方案一
def preprocess_image001(image):
# 將影像轉換為 NumPy 數組
image = np.array(image)
# 轉為灰階影像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 調整對比度
enhancer = ImageEnhance.Contrast(Image.fromarray(gray))
enhanced_image = enhancer.enhance(2)
# 二值化
_, binary = cv2.threshold(np.array(enhanced_image), 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
# 去雜訊
denoised = cv2.fastNlMeansDenoising(binary, None, 30, 7, 21)
return Image.fromarray(denoised) |