以下是在CentOS7中使用tesseract和opencv去除背景并选择指定坐标的文字并保存图片的步骤:

  1. 安装tesseract和opencv

在CentOS7中使用以下命令安装tesseract和opencv:

sudo yum install tesseract tesseract-lang opencv opencv-devel
  1. 准备图片

将需要处理的图片保存到指定目录下。本例中假设图片保存在/home/user/images目录下。

  1. 去除背景

使用opencv的图像处理功能去除图片背景。可以使用以下代码:

import cv2

# 读取图片
img = cv2.imread('/home/user/images/example.png')

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

# 去除背景
bg_sub = cv2.createBackgroundSubtractorMOG2()
mask = bg_sub.apply(gray)

# 保存处理后的图片
cv2.imwrite('/home/user/images/processed.png', mask)

这段代码将读取/home/user/images/example.png图片,并将其转换为灰度图像。然后使用opencv提供的createBackgroundSubtractorMOG2函数创建一个背景去除器,并将其应用于灰度图像。最后将处理后的图片保存为/home/user/images/processed.png

  1. 识别文字

使用tesseract识别处理后的图片中的文字。可以使用以下命令:

tesseract /home/user/images/processed.png /home/user/images/result -l eng --psm 6

其中:

  • /home/user/images/processed.png是处理后的图片路径;
  • /home/user/images/result是识别结果保存路径;
  • -l eng表示使用英文语言包进行识别;
  • --psm 6表示使用自动页面分割模式进行识别。
  1. 选择指定坐标的文字并保存图片

使用opencv的图像处理功能选择指定坐标的文字,并将其保存为图片。可以使用以下代码:

import cv2

# 读取处理后的图片
img = cv2.imread('/home/user/images/processed.png')

# 选择指定坐标的文字区域并保存为图片
x, y, w, h = 100, 100, 200, 50
text_box = img[y:y+h, x:x+w]
cv2.imwrite('/home/user/images/text_box.png', text_box)

这段代码将读取/home/user/images/processed.png图片,然后选择左上角坐标为(100, 100),宽度为200,高度为50的矩形区域,并将其保存为/home/user/images/text_box.png图片。

完成以上步骤后,/home/user/images/text_box.png图片中将只包含指定坐标的文字区域

CentOS7中tesseract和opencv去除背景后中的灰色和白色后选择图片指定坐标的文字并保存图片

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

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