Erkennen Sie anhand vertikaler und horizontaler Linien, ob es sich bei dem Format um eine Tabelle handelt oder nicht [ge
Posted: 17 Jan 2025, 06:03
Ich habe zwei Arten von PDFs. Der erste Typ enthält eine Rastertabelle, während der zweite Typ kein Rasterformat aufweist. Ich möchte ein Flag generieren, um zu identifizieren, ob eine Tabelle ein Rasterformat hat oder nicht.
Ich habe ein Beispiel-PDF angehängt.


Ich möchte, dass die Flagge des Gitters erkannt wird oder nicht
Ich habe es mit dem folgenden Code versucht:
Ich habe ein Beispiel-PDF angehängt.


Ich möchte, dass die Flagge des Gitters erkannt wird oder nicht
Ich habe es mit dem folgenden Code versucht:
Code: Select all
import cv2
import pdfplumber
import numpy as np
def is_grid_table(pdf_path):
flag = False # Initialize flag for grid detection
with pdfplumber.open(pdf_path) as pdf:
for page in pdf.pages:
# Extract the image of the page
image = page.to_image()
# Convert the image to a numpy array
image_np = np.array(image.original)
# Convert to grayscale
gray = cv2.cvtColor(image_np, cv2.COLOR_BGR2GRAY)
# Apply edge detection
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# Detect lines using Hough Transform
lines = cv2.HoughLines(edges, 1, np.pi/180, 200)
# Check if lines are detected
if lines is not None:
flag = True # Grid detected
break
return flag
# Example usage
pdf_path = "/home/jainam/Desktop/wfh/layout/OneDrive_1_6-11-2024/hdfc/hdfc_0.pdf"
flag = is_grid_table(pdf_path)
print("Grid Detected:" if flag else "No Grid Detected")