[Android] 구글 클라우드비전 API키 발급 및 사용법


클라우드비전

구글 클라우드 비전이란?

구글 클라우드 비전이란 2016년 구글에서 공개한 기계 학습 기반 이미지 인식 API입니다.

이미지파일에서 얼굴인식 , 텍스트인식, 사물, 상품로고,꽃, 랜드마크 인식 

그리고 사람인경우 기쁨, 슬픔, 분노 등 다양한 감정식별도 가능합니다.


제가 직접 사용해본결과 인식률이 완벽하지는 않았으나 어플리케이션을 개발할경우 굉장히 유용한 API인것만은 틀림없는듯 합니다. 그럼 Google Cloud Vision API를 사용하는 방법에대해서 한번 알아보도록 하겠습니다.

    구글 클라우드비전 API키 발급

    1. 구글 클라우드 플랫폼 API를 사용하면 먼저 API 키를 발급받아야 합니다.

    구글 클라우드 API받기 링크바로가기

    위사이트에 들어가셔서

    클라우드비전

    위에 보이시는 빨간색 박스안의 아이콘을 클릭해주세요


    클라우드비전

    2. 그런뒤 위에 보이는 + 버튼을 눌러 프로젝트를 새로 하나 만들어줍니다.


    클라우드비전

    3. 그다음 생성한 프로젝트를 클릭해주시고 사용자 인증 정보로 들어간뒤


    클라우드비전

    4. 사용자 인증 정보 만들기 -> API 키를 선택해주세요


    클라우드비전

    5. 이렇게 API키가 발급되는군요

    그럼 API키도 발급받았으니 Cloud Vision API를 안드로이드 스튜디오에 불러와 한번 사용을 해보도록 하겠습니다.


    구글 클라우드비전 사용

    1. 구글클라우드 비전 샘플소스(깃허브)

    먼저 이곳에서 클라우드 비전API 샘플소스를 다운받아서 안드로이드 스튜디오에서 실행시켜주세요

    (다운받으시면 폴더안에 다양한 버전의 소스들이있는데 그중에서 안드로이드 버전을 불러와주셔야합니다!!!)


    2. 불러오셨으면 MainActivity로가셔서

    String CLOUD_VISION_API_KEY 에 방금 받았던 API 키를 붙어넣습니다.

    public class MainActivity extends AppCompatActivity {
        private static final String CLOUD_VISION_API_KEY = "API_KEY";
        public static final String FILE_NAME = "temp.jpg";
        private static final String ANDROID_CERT_HEADER = "X-Android-Cert";
        private static final String ANDROID_PACKAGE_HEADER = "X-Android-Package";

    그리고 바로 실행시켜주시면 이미지에 대한 정보를 알려주는 안드로이드 앱이 실행될 것 입니다.

    만약에 이미지에 대한 정보를 알려주는 기능 외에 다른기능을 사용하고 싶으신분들은

    private void callCloudVision(final Bitmap bitmap) throws IOException {

    안에 

    // add the features we want
    annotateImageRequest.setFeatures(new ArrayList<feature>() {{
         Feature textDetection = new Feature();
         textDetection.setType("LABEL_DETECTION");
         textDetection.setMaxResults(10);
         add(textDetection);
    }});

    textDetection.setType("LABEL_DETECTION");

    안에 내용을 바꿔주세요

    텍스트 인식의 경우 textDetection.setType("TEXT_DETECTION"); 으로 바꿔주시면 됩니다.

    저는 텍스트방식으로 바꾸고 실행을 시켜보겠습니다.


    클라우드비전

    3. 실행을 시키시면 위와같이 텍스트인식이 잘 되는 것을 볼 수 있습니다.


    [Android] Fragment에서 구글 클라우드비전 사용하기


    댓글(48)

    • 이전 댓글 더보기
    • hwk98
      2018.11.04 12:12

      공부한지 얼마안된 학생입니다. 명함 인식 같은 어플을 만들려고 하는데
      추출한 텍스트를 따로 저장하려면 어떻게 해야할까요?

      • 2018.11.04 15:15 신고

        TextView같은곳에 인식된 텍스트가 나올것인데 이것을 getText()쓰셔서 텍스트를 뽑으신다음에 잘 잘라서 활용하시면 될듯합니다. 인식되는 텍스트의 규칙같은것을 찾으셔야 할듯하네요. 그리고 그런 어플을 만들기위해서라면 이 API는 조금 비추천해요 이 API는 사진을 스캔해서 텍스트를 추출해내는 API라서 질문자님께서 만들고싶은 어플에는 안맞을수도있을듯합니다.

    • 원박
      2018.11.10 20:55

      깃허브에서 다운받은 코드 상에서 MainActivity가 저렇게 바뀌었더라구요?? BuildConfig.API_KEY 로요

      public class MainActivity extends AppCompatActivity {
      private static final String CLOUD_VISION_API_KEY = BuildConfig.API_KEY;

      그래서 build.gradle(Module: app) 에서 발급받은 API키를 아래와 같이 입력했는데

      buildTypes.each {
      it.buildConfigField 'String', 'API_KEY', "블라블라(발급받은 API키입니다)"
      }

      실행을 시키면

      BuildConfig.java 파일이 열리면서

      public static final String API_KEY = 블라블라(발급받은 API키 입니다) ;

      해당부분에 입력되어진 API키 부분이 빨간색 표시가 되면서

      오류 창에
      error: ';' expected
      error: <identifier> expected
      Execution failed for task ':app:compileDebugJavaWithJavac'.
      >Compilation failed; see, the compiler error output for details.

      라고 뜨네요??

      저기 빨간색 부분(API키)을 " " 안에 입력시켜서도 실행시켜봤는데
      다시 제가 입력한 " "사라지면서 계속 저렇게 에러 메시지가 뜨네요

      어떻게 해결할 수 있는지 아시나요??

      • 2018.11.14 21:58 신고

        글쎄요... 당연히 API키는 잘 넣으셨겠죠..?? 잘 모르겠네요 죄송합니다.

    • truth
      2018.11.14 02:26

      안녕하세요! 글 보고 따라하는 중인데 api key를 넣었는데 빌드 오류가 뜨네요ㅠㅠ 심지어 run버튼도 활성화가 처음부터 되지 않구요,, 해결 방법이 없을까요ㅠㅠ ?

      • 2018.11.14 21:57 신고

        run버튼이 활성화가 안되어있으면 안드로이드 스튜디오상에서 문제가 생긴것같습니다.

    • ㅇㅇ1
      2019.01.28 19:59

      @Override
      protected String doInBackground(Object... params) {
      try {
      Log.d(TAG, "created Cloud Vision request object, sending request");
      BatchAnnotateImagesResponse response = mRequest.execute();
      return convertResponseToString(response);

      } catch (GoogleJsonResponseException e) {
      Log.d(TAG, "failed to make API request because " + e.getContent());
      } catch (IOException e) {
      Log.d(TAG, "failed to make API request because of other IOException " +
      e.getMessage());
      }
      return "Cloud Vision API request failed. Check logs for details.";
      }

      이미지등록후 기다리니 위에 설정한것처럼 Cloud Vision API request failed. Check logs for details. 이런 메세지가 텍스트뷰에 나타나는데 혹시 해결방법이 있나요???

      • 2019.01.29 13:37 신고

        로그를 확인하라고 하는데 로그에는 뭐라고 뜨나요? 음.. 클라우드 비전이 인식을 못하는거같은데 다른사진을 한번 넣어보세요.

      • 소다
        2019.03.24 00:52

        안녕하세요 혹시 해결하셨나요ㅠㅠ 저도 똑같은 문제를 겪고 있는데 해결방법을 아무리 찾아도 api관련밖에 안나오네요...

    • 2019.03.30 20:49

      비밀댓글입니다

    • 2019.04.22 17:51

      비밀댓글입니다

    • 도와주세욤
      2019.04.25 16:47

      텍스트로만 이루어진 어떤 사진들을
      올리더라도 전부

      I found these things:
      nothing

      이라고만 뜨네요...

      "LABEL_DETECTION" 이부분
      "TEXT_DETECTION" 으로 수정한 상태입니다.

    • 2019.04.29 00:39

      비밀댓글입니다

    • 2019.05.02 17:45

      비밀댓글입니다

    • heejin
      2019.05.13 01:42

      저도 오류가 많이 떠서 그런데 텍스트인식하는 프로젝트 보내주실수 있나요?
      이메일 주소는 아래와 같습니다. 제발 부탁드립니다. ㅠㅠ
      heejin740@naver.com

    • 2019.05.22 05:03

      비밀댓글입니다

    • jeyeon
      2019.06.13 02:21

      안녕하세요 ㅠㅠㅠ 텍스트 인식하는 프로젝트 보내주실 수 있을까요??? LABEL만 되어서요
      메일 주소는 아래와 같습니다,,,, zzxcho만 영문이고 뒤에는 숫자 11입니다
      zzxcho11@naver.com

      • jeyeon
        2019.06.13 02:37

        아래 페이지에 나와있는 방법으로
        TEXT 인식 문제 해결하였습니다
        https://dpdpwl.tistory.com/6

    • 2019.07.18 15:43

      비밀댓글입니다

    • 공소성
      2020.06.07 02:40

      안녕하세요. 정말 좋은 글 잘보았습니다.
      다름이 아니라 올려주신 글 대로 잘 따라해보았는데 도저히 오류를 해결할 수 없어서
      혹시 텍스트 인식하는 프로젝트를 메일로 보내주실 수 있을까요?
      참고하여 오류 해결할 수 있다면 정말 좋을 것 같습니다ㅠㅠ
      항상 좋은 글이 많이 올라와서 자주 보고있습니다.
      감사합니다. 아래는 제 메일 주소입니다.
      svs101@dgu.ac.kr

    • 후이쭈25
      2020.08.20 16:22

      안녕하세요. 구글 비전으로 텍스트 인식하는 프로젝트를 진행하고자 하다 방문했습니다.
      다름이 아니라 계속해서 "Cloud Vision API request failed. Check logs for details"와 같은 메시지가 뜹니다..
      꼭 오류를 해결해야 해서ㅜㅠㅠ
      혹시 텍스트 인식하는 프로젝트를 받을 수 있을까요?
      이메일 주소는 ktytk0925@gmail.com입니다!
      보내주시면 감사하겠습니다!!

    • 2020.09.07 11:14

      비밀댓글입니다

    • seohyeon
      2020.09.30 13:23

      안녕하세요. 저도 윗분과 같은 "Cloud Vision API request failed. Check logs for details"와 같은 에러 메시지가 뜹니다..
      혹시 텍스트 인식하는 프로젝트를 받을 수 있을까요?
      이메일 주소는 alfotjgus@naver.com입니다!
      보내주시면 감사하겠습니다!!

    • 2021.03.20 17:08

      비밀댓글입니다

    • 김영우
      2021.04.30 22:02

      안녕하세요. 저도 윗분과 같은 "Cloud Vision API request failed. Check logs for details"와 같은 에러 메시지가 뜹니다..
      혹시 텍스트 인식하는 프로젝트를 받을 수 있을까요?
      이메일 주소는 ywoo1216@nate.com입니다!
      보내주시면 감사하겠습니다!!

    • 2021.05.06 12:53

      비밀댓글입니다

    Designed by JB FACTORY