Camelot이란?
PDF 파일에서 표(Table, 이하 테이블)을 추출(Extract)해주는 Python 라이브러리
Camelot의 다양한 기능 중에서 plot 기능에 대해 알아보겠습니다.
camelot.plot()은 camelot이 추출한 테이블을 여러 형태로 시각화해주는 기능입니다.
아래와 같은 총 6가지 기능이 있고, 하나씩 살펴보겠습니다.
-
contour
-
grid
-
line
-
joint
-
text
-
textedge
이 포스팅은 카멜롯 공식 문서를 참조하였습니다.
camelot-py.readthedocs.io/en/master/user/advanced.html#visual-debugging
사용법
# 첫 번째 인자는 camelot table 객체
# 두 번째 인자는 kind에 plot 기능 중 하나를 설정
plots = camelot.plot(tables, kind='grid')
plots.show() # plot을 화면에 띄우기
우선, 테스트에 활용할 PDF 문서 원본입니다.
kind= "contour"
> 테이블 가장자리를 빨간선으로 표시해줍니다.
> lattice + stream 모두 사용 가능
> stream 방식에서는 테이블 내용은 보이지 않고 kind="text"(아래에서 설명)처럼 표시됩니다.
kind= "grid"
> 테이블의 모든 테두리 표시
> lattice + stream 모두 사용 가능
> 모든 table을 반환합니다. (한 페이지에 테이블이 n개면, n개의 grid가 생성됩니다.)
kind= "line"
> 페이지 내 모든 선분 표시
> grid와 같아보이지만, line은 페이지의 테이블 뿐만아니라 다른 선분(구분선과 같은)도 표시합니다.
> lattice만 사용 가능
kind= "joint"
> 테이블의 테두리 교차점을 모두 표시
> lattice만 사용 가능
kind= "text"
> 페이지에서 텍스트로 인식되는 모든 곳을 표시
> 모든 텍스트에 형광팬을 쳤다고 생각하면 쉬움
> lattice + stream 모두 사용 가능
kind= "textedge"
> text에서 text의 가장자리를 표시해줍니다. 같은 선상에 위치한 텍스트를 연결해줍니다.
> stream만 사용 가능
지금까지 camelot의 plot 기능, 6가지 종류에 대해 알아보았습니다.,
상황에 맞게 적절하게 사용하면 될 것 같습니다.
감사합니다.
'Python tech > Computer Vision' 카테고리의 다른 글
[Python opencv] K-means 활용, 이미지 색상 개수 줄이기 (3) | 2021.05.16 |
---|---|
[Python opencv] cv2 색상 구분 기준으로 라인 그리기 (0) | 2021.05.16 |
[Python OpenCV] 이미지를 그림화 하기 (색 일반화) (0) | 2021.04.05 |
[camelot] line_scale이란? (opencv로 라인 추출) (0) | 2021.03.09 |
[camelot] read_pdf() 파라미터 (0) | 2021.02.08 |