Я хочу извлечь несколько табличных данных из изображения .tif и сохранить их в формате Excel CSV. Я просто хочу несколько данных таблицы и пропустить оставшиеся данные из изображения. Ниже приведен код, который я пробовал, но он не может этого сделать.
В настоящее время я использую Python 3.7 версию, IDE - Pycharm
#import libraries
import cv2
import numpy as np
import pytesseract
#ENTER THE TESSERACT FILE PATH
pytesseract.pytesseract.tesseract_cmd = r"C:\Users\VS\AppData\Local\Tesseract-OCR\tesseract.exe"
#ENTER THE FILE PATH OF IMAGE
file = r"C:\Users\VS\Desktop\testImg.tif"
#load image
im1 = cv2.imread(file, 0)
im = cv2.imread(file)
#Set the threshold for separating object from background
ret, thresh_value = cv2.threshold(im1, 180, 255, cv2.THRESH_BINARY_INV)
kernel = np.ones((5, 5), np.uint8)
#dilation is used for increasing object area and joining broken parts of object
dilated_value = cv2.dilate(thresh_value, kernel, iterations=1)
contours, hierarchy = cv2.findContours(dilated_value, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cordinates = []
for cnt in contours:
x, y, w, h = cv2.boundingRect(cnt)
cordinates.append((x, y, w, h))
# bounding the images
if y < 50:
cv2.rectangle(im, (x, y), (x + w, y + h), (0, 0, 255), 1)
cv2.namedWindow('detecttable', cv2.WINDOW_NORMAL)
#save the processed image with new name
cv2.imwrite('tableData.png', im)
#read the new image file
img = cv2.imread('tableData.png')
#convert image to text
text = pytesseract.image_to_string(img, lang='eng')
#open the csv file and write the text in it
file = open("ImageText.csv", "a")
file.write(text)
file.write("\n")
file.close()
Ниже приведены изображения.
Образец 1:
Образец 2:
Ниже ссылка на чертежный файл:
https://ecat.aptiv.com/docs/default-source/ecatalog-documents/13968848_cus01_s01-tif.tif?Status=Master&sfvrsn=efc3eb21_0