Language/GoLang

Google Vision AI(이미지분석) 적용하기-이미지 내 텍스트 추출하기(OCR)-2편

Chung-A 2020. 9. 17. 16:41

저번 포스팅에서 Google Vision API 연동을 위한 키를 받아오기 까지 작업을 하였다면

이번 포스팅에서는 이어서 이미지 분석을 위한 코드를 작성해보려고 한다.

 

만약 키를 아직 못받은 상태라면 저번 포스팅을 참고하기를 바란다.

 

2020/09/16 - [Language/GoLang] - Google Vision AI(이미지분석 API) 적용-이미지 내 텍스트 추출하기(OCR)-1편

 

Google Vision AI(이미지분석 API) 적용-이미지 내 텍스트 추출하기(OCR)-1편

Google Vision AI(이미지분석) 적용하기-이미지 내 텍스트 추출하기(OCR)-1편 1. Google Vision AI API란? 구글에서 제공해주는 머신러닝 기반의 이미지 분석 API이다. 이 Vision API를 이용하면 이미지를 이용해.

chung-develop.tistory.com


1. 코드 작성

먼저 Google Cloud Platform측에서 받은 비공개 키 파일(.json) 경로를

아래 소스코드에서 [키 파일 경로]라고 되어있는 곳에 명시해준다.

 

func VisionAPI(filePath string) {
	ctx := context.Background()

	// Creates a client.
	client, err := vision.NewImageAnnotatorClient(ctx,option.WithCredentialsFile("키 파일 경로"))
	if err != nil {
		log.Fatalf("Failed to create client: %v", err)
	}
	defer client.Close()

	// Sets the name of the image file to annotate.
	filename := filePath

	file, err := os.Open(filename)
	if err != nil {
		log.Fatalf("Failed to read file: %v", err)
	}
	defer file.Close()
	image, err := vision.NewImageFromReader(file)
	if err != nil {
		log.Fatalf("Failed to create image: %v", err)
	}

	annotations, err := client.DetectTexts(ctx, image, nil, 10)
	if err != nil {
		log.Fatalf("Failed to detect labels: %v", err)
	}

	if len(annotations) == 0 {
		fmt.Println( "No text found.")
	} else {
		fmt.Println( "Text:")
		for _, annotation := range annotations {
			fmt.Println(annotation.Description)
		}
	}
}

 

필자는 Go언어로 작성하였다.

만약 다른 언어의 소스코드가 필요하다면 아래 사이트를 참고하기를 바란다.

 

https://cloud.google.com/vision/docs/ocr

 

이미지의 텍스트 감지  |  Cloud Vision API  |  Google Cloud

이 API를 모바일 앱에서 사용하는 경우 Firebase용 ML Kit를 사용해 보세요. 이 키트는 Cloud Vision 서비스를 사용하기 위한 네이티브 Android 및 iOS SDK와 함께 커스텀 ML 모델을 사용하는 기기별 ML Vision API

cloud.google.com


2. 결과 확인

 

이제 필요한 준비는 끝났으니 위 소스코드를 돌려보도록 하자.

 

필자는 아래와 같은 전단지를 넣고 돌렸다.

 

아래는 위 이미지를 분석했을 때 구글이 반환한 결과이다.


Text: 


OPEN 
60% 
초대박 세일 
N4 오픈 10일간만 
헬스 등록시 
요가 ·필라테스· 뮤직복싱다이어트 
전종목 무료 
+청담동 최고 헤어상 

OPEN 
60% 
초대박 
세일 
N4 
오픈 
10 
일간 
 
헬스 
등록시 
요가 
· 
필라테스 
· 
뮤직 
복싱 
다이어트 
전종목 
무료 
+ 
청담동 
최고 
헤어 


 

결과를 봤을 때 예상 외로 정확하게 인식하는 모습을 보여줘서 놀랐다.

역시 구글인거같다.