import openpyxl from PIL import Image, ImageOps import io import pytesseract # 加载Excel工作簿和工作表 workbook = openpyxl.load_workbook('D:\QQQQQ\\12.xlsx') sheet = workbook.active # 假设图片在A1单元格 cell_with_image = sheet['C3'] if cell_with_image.image: # 提取图片数据 img_data = cell_with_image.image.content # 将图片数据转换为字节流 img_stream = io.BytesIO(img_data) # 使用Pillow(PIL)加载图像 image = Image.open(img_stream) # 转换为灰度图 gray_image = image.convert('L') # 可选的二值化处理 _, binary_image = ImageOps.invert(gray_image).convert('1').point(lambda x: 0 if x < 128 else 255, '1') # 使用Tesseract进行OCR text = pytesseract.image_to_string(binary_image, lang='eng', config='--psm 6') # 提取数字 numbers = ''.join(filter(str.isdigit, text)) # 将识别的数字转换为整数列表 num_list = [int(num) for num in numbers] # 计算数字的和 sum_of_numbers = sum(num_list) print("从图片中识别的数字是:", numbers) print("数字之和:", sum_of_numbers) else: print("A1单元格中未找到图片。")
新手小白,求教‘Cell‘ object has no attribute ‘image解决方案
最新推荐文章于 2024-07-12 16:16:27 发布