使用paddleocr 得到result = ocr.ocr(img_path)如何判断是否result为空
时间: 2023-10-27 12:04:51 浏览: 262
你可以使用Python中的`if`语句来判断`result`是否为空。具体方法如下:
```python
result = ocr.ocr(img_path)
if not result:
print("OCR识别结果为空")
else:
print("OCR识别结果为:", result)
```
在上述代码中,我们首先通过`ocr.ocr(img_path)`函数得到OCR的识别结果,然后判断`result`是否为空。如果`result`为空,则输出提示信息“OCR识别结果为空”,否则输出OCR识别结果。
相关问题
from paddleocr import PaddleOCR, draw_ocr # 模型路径下必须含有model和params文件,如果没有,现在可以自动下载了,不过是最简单的模型 # use_gpu 如果paddle是GPU版本请设置为 True ocr = PaddleOCR(use_angle_cls=True, use_gpu=True) img_path = 'window_screenshot.jpg' # 这个是自己的图片,自行放置在代码目录下修改名称 result = ocr.ocr(img_path, cls=True) for line in result: print(line)怎么只返回文本呢
要只返回OCR结果中的文本,您可以对OCR结果进行处理。在PaddleOCR中,OCR结果是一个列表,每个元素代表一行文本。每个元素是一个列表,其中包含识别到的文本和其对应的置信度。
以下是如何提取OCR结果中的文本的示例代码:
```python
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, use_gpu=True)
img_path = 'window_screenshot.jpg' # 这个是自己的图片,自行放置在代码目录下修改名称
result = ocr.ocr(img_path, cls=True)
# 提取文本
text_list = []
for line in result:
line_text = ' '.join([word_info[0] for word_info in line])
text_list.append(line_text)
# 打印文本
for text in text_list:
print(text)
```
在上述示例中,我们遍历OCR结果并将每行的识别文本提取出来,并存储到`text_list`列表中。然后,我们再次遍历`text_list`并打印每一行的文本。
希望这可以帮助您提取OCR结果中的文本。如果您有任何其他问题,请随时提问。
import os from PIL import Image import pytesseract from openpyxl import Workbook def ocr(image_path): img = Image.open(image_path) result = pytesseract.image_to_string(img, lang='eng') return result def save_to_excel(result_list): wb = Workbook() ws = wb.active for result in result_list: ws.append([result]) wb.save('result.xlsx') if __name__ == '__main__': image_dir = r'C:\Users\KevinGuo\OneDrive\桌面\1.jpg' # 图片所在目录 result_list = [] for image_name in os.listdir(image_dir): image_path = os.path.join(image_dir, image_name) result = ocr(image_path) result_list.append(result) save_to_excel(result_list) print('处理完成!')
代码中存在问题,需要进行修改。具体问题如下:
1. image_dir指定的是图片文件的路径,而不是图片所在的目录。如果需要处理多张图片,请将image_dir指定为图片所在的目录。
2. os.listdir()返回的是指定目录下的所有文件和子目录,如果需要筛选出图片文件,请使用os.path.splitext()函数,判断文件扩展名是否为图片格式。
3. 处理单张图片时,需要将result_list改为result,因为只有一张图片。
修改后的代码如下:
```python
import os
from PIL import Image
import pytesseract
from openpyxl import Workbook
def ocr(image_path):
img = Image.open(image_path)
result = pytesseract.image_to_string(img, lang='eng')
return result
def save_to_excel(result):
wb = Workbook()
ws = wb.active
ws.append([result])
wb.save('result.xlsx')
if __name__ == '__main__':
image_path = r'C:\Users\KevinGuo\OneDrive\桌面\1.jpg' # 图片文件路径
result = ocr(image_path)
save_to_excel(result)
print('处理完成!')
```
以上代码是处理单张图片并将OCR识别结果存入Excel的示例代码。如果需要处理多张图片,可以参考之前的代码示例,使用for循环进行处理。
阅读全文