add ocr service
This commit is contained in:
23
pre_processor.py
Normal file
23
pre_processor.py
Normal file
@@ -0,0 +1,23 @@
|
||||
import cv2
|
||||
import numpy as np
|
||||
import os
|
||||
|
||||
NOISE_THRESHOLD = int(os.getenv("NOISE_THRESHOLD", "10")) # 示例阈值,单位为噪声的标准差
|
||||
|
||||
def pre_process(image):
|
||||
if len(image.shape) == 3: # 如果是彩色图像 (具有三个通道)
|
||||
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
|
||||
else:
|
||||
gray = image
|
||||
|
||||
# 噪声水平估计(简单地使用标准差作为代理)
|
||||
noise_level = np.std(gray) # 在灰度图像上评估噪声水平
|
||||
if noise_level > NOISE_THRESHOLD:
|
||||
if len(image.shape) == 3: # 如果是彩色图像
|
||||
processed_img = cv2.fastNlMeansDenoisingColored(image)
|
||||
else: # 如果是灰度图像
|
||||
processed_img = cv2.fastNlMeansDenoising(image)
|
||||
else:
|
||||
processed_img = image
|
||||
|
||||
return processed_img
|
||||
Reference in New Issue
Block a user