You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用easyOCR在Python中读取阿拉伯文本时识别不全的问题求助

使用EasyOCR识别阿拉伯文本的问题及解决建议

我在Python中使用EasyOCR读取阿拉伯文本时遇到了识别不完整的问题,已经对图片做了对比度调整等预处理,但效果依然不好。以下是我使用的代码和待识别的图片:

!pip install easyocr
!pip install --upgrade easyocr opencv-python

import easyocr
import cv2
from matplotlib import pyplot as plt
from google.colab import files
import numpy as np
from PIL import Image

uploaded = files.upload()
image_path = next(iter(uploaded))

image = Image.open(image_path)
image = np.array(image)

plt.imshow(image)
plt.axis("off")
plt.show()

def test_easyocr_basic(image):
    reader = easyocr.Reader(['en', 'ar'])
    result = reader.readtext(image)

    img_draw = image.copy()
    for i, (bbox, text, prob) in enumerate(result, start=1):
        print(f"{i}. [{prob:.2f}] {text}")
        top_left = tuple(map(int, bbox[0]))
        bottom_right = tuple(map(int, bbox[2]))
        cv2.rectangle(img_draw, top_left, bottom_right, (0, 255, 0), 2)
    plt.figure(figsize=(10, 10))
    plt.imshow(cv2.cvtColor(img_draw, cv2.COLOR_BGR2RGB))
    plt.axis("off")
    plt.show()

test_easyocr_basic(image)

待识别的阿拉伯文本图片

问题排查与优化方案

  • 修复代码基础问题:原代码中test_easyocr_basic函数内的代码存在缩进错误,会导致运行报错,需先修正该语法问题。
  • 调整语言优先级:初始化Reader时将阿拉伯语'ar'放在第一位['ar', 'en'],让模型优先处理阿拉伯文本,适配从右到左的文本排版特性。
  • 强化图像预处理:在现有对比度调整基础上,添加灰度转换、自适应二值化、降噪步骤,进一步突出文本特征:
    def preprocess_image(image):
        # 转为灰度图
        gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
        # 自适应二值化
        thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)
        # 去除噪声
        denoised = cv2.medianBlur(thresh, 3)
        # 转回RGB格式适配EasyOCR
        return cv2.cvtColor(denoised, cv2.COLOR_GRAY2RGB)
    
    调用时先执行processed_image = preprocess_image(image),再传入识别函数。
  • 调整识别参数:添加contrast_ths=0.3过滤低对比度干扰区域,或设置adjust_contrast=0.6增强图像对比度;若文本集中在特定区域,可裁剪图片后再识别,减少背景干扰。

内容的提问来源于stack exchange,提问作者Deema Alatawy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 16:57:18