Erkennen Sie anhand vertikaler und horizontaler Linien, ob es sich bei dem Format um eine Tabelle handelt oder nicht [gePython

Python-Programme
Guest
 Erkennen Sie anhand vertikaler und horizontaler Linien, ob es sich bei dem Format um eine Tabelle handelt oder nicht [ge

Post by Guest »

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.
Image

Image

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")

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post