使用 Python OpenCV 和 Tesseract OCR 进行图像识别

本示例代码演示如何使用 Python OpenCV 和 Tesseract OCR 库识别图像中的文字。

代码示例:

import cv2
import pytesseract

# 安装tesseract-OCR,并配置路径
pytesseract.pytesseract.tesseract_cmd = r'D:\tesseract-ocr\tesseract.exe'

# 使用 os.path.join 拼接文件路径,确保跨平台兼容
import os
img_path = os.path.join('C:', 'Users', 'jian.gao', 'Desktop', '企业微信截图_16802572874028.jpg')

# 读取图像
img = cv2.imread(img_path)

# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 二值化处理
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]

# 腐蚀操作,去除噪声
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
erode = cv2.erode(thresh, kernel, iterations=1)

# 进行开运算,去除噪声和粘连部分
opening_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
opening = cv2.morphologyEx(erode, cv2.MORPH_OPEN, opening_kernel)

# 识别图像中的文字
text = pytesseract.image_to_string(opening, lang='chi_sim', config='--psm 6')

print(text)

跨平台文件路径解决方案:

使用 os.path.join 方法拼接文件路径可以避免不同操作系统文件路径符号带来的兼容性问题。

例如,将图像文件路径拼接为完整路径:

import os

img_path = os.path.join('C:', 'Users', 'jian.gao', 'Desktop', '企业微信截图_16802572874028.jpg')

这样,无论在 Windows、Linux、macOS 等操作系统下,都可以正确读取到图像文件。

错误原因和解决方法:

原始代码中使用的是硬编码的 Windows 文件路径,这会导致在其他操作系统上无法正常运行。使用 os.path.join 拼接文件路径可以解决这个问题。

总结:

通过使用 os.path.join 方法拼接文件路径,可以确保代码在不同操作系统上都能正常运行,提高代码的可移植性。

Python OpenCV 和 Tesseract OCR 图像识别 - 跨平台文件路径解决方案

原文地址: https://www.cveoy.top/t/topic/mwX5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录