Cloud Vision API를 사용하여 가장 짧은 노선에서 OCR(문자인식)의 안드로이드 애플리케이션을 만듭니다.
9433 단어 Android
개시하다
기계 학습의 시대다.
그래서 저는 기계 학습을 이용한 응용 프로그램을 만들고 싶은데 데이터 집합이 없어서 어떻게 해야 할지 모르겠어요.
이 경우 Google이 제공하는 Google Cloud Platform의 머신러닝 API를 사용하면 머신러닝을 놀랍게도 간단하게 활용한 앱을 만들 수 있다.
이번에는 Google Cloud Vision API의 OCR(문자인식) 기능을 사용하여 문자인식 애플리케이션을 제작합니다.
Google Cloud Vision API
공식.
Google Cloud Vision API를 사용해 보았습니다.
1000개 단원이면 무료로 이용할 수 있다.
요금표는이쪽
릴리즈 API 키
먼저 Google Developers Console부터 API 키를 릴리즈합니다.
필요한 것은 아래와 같다
공식.
Google Cloud Vision API를 사용해 보았습니다.
1000개 단원이면 무료로 이용할 수 있다.
요금표는이쪽
릴리즈 API 키
먼저 Google Developers Console부터 API 키를 릴리즈합니다.
필요한 것은 아래와 같다
Cloud Vision API 사용 방법 요약
공식 샘플 가져오기
클라우드 비전 API를 사용하는 안드로이드 애플리케이션공식 견본이 있기 때문에 이 코드를 기반으로 한다.
먼저 git clone https://github.com/GoogleCloudPlatform/cloud-vision.git
를 쳐서 샘플 코드를 얻습니다.
가져오면 MainActivity 상수 CLOUDVISION_API_KEY 릴리즈의 API 키를 대입합니다.
Feature Type 변경 사항
공식 샘플은 LABEL입니다.DETECTION을 했기 때문에.
TEXT_DETECTION(문자인식)을 위해 보면서참고 자료 고쳐 쓴다.
before
MainActivity.java annotateImageRequest.setFeatures(new ArrayList<Feature>() {{
Feature labelDetection = new Feature();
labelDetection.setType("LABEL_DETECTION");
labelDetection.setMaxResults(MAX_LABEL_RESULTS);
add(labelDetection);
}});
after(MAX LABEL RESULTS를 10에서 1로 변경)
MainActivity.java annotateImageRequest.setFeatures(new ArrayList<Feature>() {{
Feature textDetection = new Feature();
textDetection.setType("TEXT_DETECTION");
textDetection.setMaxResults(MAX_LABEL_RESULTS);
add(textDetection);
}});
출력 형식 수정
문자인식 결과를 출력하기 위해 코드를 다시 작성합니다.
before
MainActivity.java private static String convertResponseToString(BatchAnnotateImagesResponse response) {
StringBuilder message = new StringBuilder("I found these things:\n\n");
List<EntityAnnotation> labels = response.getResponses().get(0).getLabelAnnotations();
if (labels != null) {
for (EntityAnnotation label : labels) {
message.append(String.format(Locale.US, "%.3f: %s", label.getScore(), label.getDescription()));
message.append("\n");
}
} else {
message.append("nothing");
}
return message.toString();
}
after
MainActivity.java private static String convertResponseToString(BatchAnnotateImagesResponse response) {
StringBuilder message = new StringBuilder("I found these things:\n\n");
TextAnnotation label = response.getResponses().get(0).getFullTextAnnotation();
if (label != null) {
message.append(label.getText());
} else {
message.append("nothing");
}
return message.toString();
}
확인
이 사진으로 프로그램을 검증합니다.
결실
공백을 없앤'증보 개정판'을 포함해 완벽하군!
총결산
Google Cloud Vision API에서 OCR을 최단 경로로 테스트하기 전의 단계를 요약했습니다.
API를 사용하면 기계 학습 지식이 많지 않아도 최첨단 기술을 간단하게 체험할 수 있다.
꼭 해보세요.
Reference
이 문제에 관하여(Cloud Vision API를 사용하여 가장 짧은 노선에서 OCR(문자인식)의 안드로이드 애플리케이션을 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rui_qma/items/1eee6c1a096d59c30a0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
공식 샘플은 LABEL입니다.DETECTION을 했기 때문에.
TEXT_DETECTION(문자인식)을 위해 보면서참고 자료 고쳐 쓴다.
before
MainActivity.java
annotateImageRequest.setFeatures(new ArrayList<Feature>() {{
Feature labelDetection = new Feature();
labelDetection.setType("LABEL_DETECTION");
labelDetection.setMaxResults(MAX_LABEL_RESULTS);
add(labelDetection);
}});
after(MAX LABEL RESULTS를 10에서 1로 변경)MainActivity.java
annotateImageRequest.setFeatures(new ArrayList<Feature>() {{
Feature textDetection = new Feature();
textDetection.setType("TEXT_DETECTION");
textDetection.setMaxResults(MAX_LABEL_RESULTS);
add(textDetection);
}});
출력 형식 수정
문자인식 결과를 출력하기 위해 코드를 다시 작성합니다.
before
MainActivity.java private static String convertResponseToString(BatchAnnotateImagesResponse response) {
StringBuilder message = new StringBuilder("I found these things:\n\n");
List<EntityAnnotation> labels = response.getResponses().get(0).getLabelAnnotations();
if (labels != null) {
for (EntityAnnotation label : labels) {
message.append(String.format(Locale.US, "%.3f: %s", label.getScore(), label.getDescription()));
message.append("\n");
}
} else {
message.append("nothing");
}
return message.toString();
}
after
MainActivity.java private static String convertResponseToString(BatchAnnotateImagesResponse response) {
StringBuilder message = new StringBuilder("I found these things:\n\n");
TextAnnotation label = response.getResponses().get(0).getFullTextAnnotation();
if (label != null) {
message.append(label.getText());
} else {
message.append("nothing");
}
return message.toString();
}
확인
이 사진으로 프로그램을 검증합니다.
결실
공백을 없앤'증보 개정판'을 포함해 완벽하군!
총결산
Google Cloud Vision API에서 OCR을 최단 경로로 테스트하기 전의 단계를 요약했습니다.
API를 사용하면 기계 학습 지식이 많지 않아도 최첨단 기술을 간단하게 체험할 수 있다.
꼭 해보세요.
Reference
이 문제에 관하여(Cloud Vision API를 사용하여 가장 짧은 노선에서 OCR(문자인식)의 안드로이드 애플리케이션을 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rui_qma/items/1eee6c1a096d59c30a0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
private static String convertResponseToString(BatchAnnotateImagesResponse response) {
StringBuilder message = new StringBuilder("I found these things:\n\n");
List<EntityAnnotation> labels = response.getResponses().get(0).getLabelAnnotations();
if (labels != null) {
for (EntityAnnotation label : labels) {
message.append(String.format(Locale.US, "%.3f: %s", label.getScore(), label.getDescription()));
message.append("\n");
}
} else {
message.append("nothing");
}
return message.toString();
}
private static String convertResponseToString(BatchAnnotateImagesResponse response) {
StringBuilder message = new StringBuilder("I found these things:\n\n");
TextAnnotation label = response.getResponses().get(0).getFullTextAnnotation();
if (label != null) {
message.append(label.getText());
} else {
message.append("nothing");
}
return message.toString();
}
이 사진으로 프로그램을 검증합니다.
결실
공백을 없앤'증보 개정판'을 포함해 완벽하군!
총결산
Google Cloud Vision API에서 OCR을 최단 경로로 테스트하기 전의 단계를 요약했습니다.
API를 사용하면 기계 학습 지식이 많지 않아도 최첨단 기술을 간단하게 체험할 수 있다.
꼭 해보세요.
Reference
이 문제에 관하여(Cloud Vision API를 사용하여 가장 짧은 노선에서 OCR(문자인식)의 안드로이드 애플리케이션을 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rui_qma/items/1eee6c1a096d59c30a0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Google Cloud Vision API에서 OCR을 최단 경로로 테스트하기 전의 단계를 요약했습니다.
API를 사용하면 기계 학습 지식이 많지 않아도 최첨단 기술을 간단하게 체험할 수 있다.
꼭 해보세요.
Reference
이 문제에 관하여(Cloud Vision API를 사용하여 가장 짧은 노선에서 OCR(문자인식)의 안드로이드 애플리케이션을 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rui_qma/items/1eee6c1a096d59c30a0b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)