[java] Apache Tika 이미지 인식 기능

Apache Tika는 텍스트, 메타데이터 및 구조화된 콘텐츠를 효율적으로 추출하고 분석하는 오픈 소스 라이브러리입니다. 이 라이브러리를 사용하면 이미지 파일에서 텍스트를 추출할 수 있습니다.

Apache Tika 설정하기

먼저 Maven 프로젝트에서 Apache Tika를 사용하려면 pom.xml 파일에 다음 의존성을 추가해야 합니다.

<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-core</artifactId>
    <version>1.26</version>
</dependency>
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers</artifactId>
    <version>1.26</version>
</dependency>

이제 필요한 라이브러리가 포함된 프로젝트를 빌드할 수 있습니다.

이미지 내 텍스트 추출하기

다음은 Apache Tika를 사용하여 이미지 파일에서 텍스트를 추출하는 Java 코드의 간단한 예시입니다.

import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

public class ImageTextExtractor {
    public static void main(String[] args) throws Exception {
        File file = new File("image.jpg");
        BodyContentHandler handler = new BodyContentHandler();
        Metadata metadata = new Metadata();
        FileInputStream inputstream = new FileInputStream(file);
        ParseContext pcontext = new ParseContext();

        // 인식기를 사용하여 이미지 파일 안에 있는 텍스트를 추출
        AutoDetectParser parser = new AutoDetectParser();
        parser.parse(inputstream, handler, metadata, pcontext);

        // 결과 출력
        System.out.println("파일 내용: " + handler.toString());
    }
}

위 코드에서 AutoDetectParser를 사용하여 이미지 파일을 처리하고, BodyContentHandler를 통해 추출된 텍스트를 얻습니다.

이제 Apache Tika를 사용하여 이미지 파일에서 텍스트를 추출하는 방법을 알게 되었습니다. 이 기능은 코드 스니펫을 통해 제공된 간단한 예제로 활용할 수 있습니다.

내용을 추출하고 읽는 프로세스는 Apache Tika 라이브러리의 힘을 보여주며, 다양한 형식의 파일에서도 효과적으로 작동하는 것을 확인할 수 있습니다.

참고 자료