Python 写个OCR识别图片文字的程序,打开图片文件对话框,cv2显示二图片,显示识别后的内容
时间: 2024-05-09 08:21:41 浏览: 18
以下是一个简单的Python程序,使用OpenCV和Tesseract OCR库实现图片文字识别:
```python
import cv2
import pytesseract
import tkinter as tk
from tkinter import filedialog
# 打开文件对话框
root = tk.Tk()
root.withdraw()
file_path = filedialog.askopenfilename()
# 读取图片并转为灰度图像
img = cv2.imread(file_path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
# 显示二值化图像
cv2.imshow("Thresholded Image", thresh)
cv2.waitKey(0)
# 识别文字
text = pytesseract.image_to_string(thresh, lang='eng')
# 显示识别结果
print(text)
# 释放窗口
cv2.destroyAllWindows()
```
首先,程序打开了一个文件对话框,让用户选择要识别的图片文件。然后,程序使用OpenCV读取图片并转为灰度图像。接着,使用二值化处理将图像处理成黑白二值图像。这里使用了Otsu阈值法进行自动二值化处理,可以很好地适应不同亮度和对比度的图像。然后,使用Tesseract OCR库识别二值化图像中的文字。最后,将识别结果打印出来并释放窗口。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pth](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)