Wolfram 언어

텍스트 인식에서 래스터화된 플롯 읽기

플롯을 시각화하면 래스터화된 이미지로 저장되는 경우가 많습니다. 이러한 플롯의 주요 소스는 스캐너 또는 오래된 문서입니다. 고해상도의 플롯을 구축하기 위해서는 래스터화된 플롯을 벡터 그래픽으로 변환할 필요가 있습니다. 이 예에서는 화상 처리 및 텍스트 인식을 사용하여 가로 방향과 세로 방향의 축, 축 라벨, 값의 범위를 포함한 플롯의 뼈대를 추출하는 방법을 설명합니다.

플롯을 포함한 이미지를 가져옵니다.

모든 눈금 라벨의 위치를 인식하고 그것을 연상에 저장합니다.

근처의 인식된 라벨을 선택하고 xy 좌표에 따라 그것을 그룹화하는 효용 함수를 정의합니다.

전체 Wolfram 언어 입력 표시하기

가로와 세로의 라벨 및 눈금에서 인식된 것을 그룹화합니다.

세로축과 가로축의 최대 좌표로 직사각형을 만드는 것으로, 이미지의 플롯 위치를 구합니다.

이미지의 그래픽을 강조합니다.

눈금을 찾아 분석합니다.

작은 유틸리티를 사용하여 눈금으로 검색된 문자열을 숫자로 변환하고 정렬합니다.

전체 Wolfram 언어 입력 표시하기
전체 Wolfram 언어 입력 표시하기

축 라벨을 찾아서 인식하고 강조합니다.

이제 플롯의 뼈대를 다시 생성할 수 있게 되었습니다.

원래 이미지에서 200 눈금은 가로축 영점에서 약간 이동하여 있습니다. 그 이동 정도가 얼마인지를 안다면 플롯의 뼈대에서 그것을 재현할 수 있습니다.

먼저 가로축의 눈금과 눈금 사이가 얼마나 떨어져 있는지를 구할 필요가 있습니다.

평균 거리를 계산하면 어떻게 눈금이 놓이는지 평균 스케일을 알 수 있습니다.

규모를 정확하게 계산하기 위해 가로 배율을 나타내는 값과 값 사이의 평균 차이를 구합니다.

마지막으로, 축의 교차점에서 첫 번째 가로축의 눈금까지의 거리 (픽셀수)를 구합니다.

이제 필요한 변화를 알 수 있습니다.

이로써 원래의 이미지와 같이 가로축 200의 눈금이 영점에서 이동 되었습니다.

전체 Wolfram 언어 입력 표시하기

위의 모든 것을 하나의 함수로 정리하고, 다른 플롯의 뼈대를 인식해 봅니다.

관련 예제

de en es fr ja pt-br zh