• 목록
  • 아래로
  • 위로

아시다시피 카카오 REST API 중에 문자영역감지 기능이 있습니다.


https://developers.kakao.com/docs/restapi/vision#%EB%AC%B8%EC%9E%90-%EC%98%81%EC%97%AD-%EA%B0%90%EC%A7%80


간단히 설명드리면 이미지를 POST로 전송하면 문자영역을 감지하여 좌표값을 반환합니다.


즉 문자영역감지 API는 좌표값만 반환하고, 이를 다시 OCR API에 넣어줘야 인식한 문자열을 반환합니다.



카카오 문자영역감지 API를 테스트하기 위해 Wavve에서 고독한 미식가 영상의 한 장면을 캡쳐했습니다 ^^





다음과 같은 스크립트를 작성하여 카카오 API를 이용하여 문자영역을 감지하고, Pillow를 이용하여 감지한 영역을 빨간색 사각형으로 표시했습니다.


processing 함수는 제가 주먹구구식으로 대충 만든 것이라서 허접합니다 ㅠㅠ


import requests, json
from PIL import Image, ImageDraw

MYAPP_KEY = 'API 키를 입력하세요'

def detect_area(filename):
    API_URL = 'https://kapi.kakao.com/v1/vision/text/detect'
    headers = {'Authorization': 'KakaoAK {}'.format(MYAPP_KEY)}
    try:
        files = { 'file' : open(filename, 'rb')}
        resp = requests.post(url=API_URL, headers=headers, files=files)
        resp.raise_for_status()
        result = resp.json()['result']['boxes']
        return result
    except Exception as e:
        print(str(e))

def processing(file, box_list):
    im = Image.open(file)
    draw = ImageDraw.Draw(im)
    for box in box_list:
        for a in range(0, 4):
            if a <= 2:
                b = a + 1
            else:
                b = 0
            draw.line(box[a] + box[b], fill=128, width=5)
    return im

file = '파일명'
box_list = detect_area(file)
im = processing(file, box_list)
filename = ''.join(file.split('.')[:-1]) + '_detect.' + file.split('.')[-1]
im.save(filename)




완벽하지는 않지만 어느 정도 성공적이라고 볼 수 있을까요? ^-^


녹색 간판의 상단이 인식되지 않은 것을 보면, Tesseract의 일부 버전에서는 원형으로 나열된 문자열도 인식하는 옵션이 있었던 것 같은데 카카오 API는 아직 이 부분이 약한 것 같네요.





수 백개의 이미지로 테스트해봤는데요.


인식이 의외로 잘 되는 경우도 있고, 그렇지 않은 경우도 있습니다.


제가 우연히 발견한 한 가지 재미있는 점은 문자영역감지 API에서 인식이 되지 않은 이미지라도, 좌표값을 잘 넣어서 OCR API에 보내면 문자를 인식하는 경우가 적지 않더군요 ㄷㄷ

작성자
이니스프리 119 Lv. (0%) 1973470/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

권한이 없습니다.
  • 노트북및 쿠팡리뷰!노트북및 쿠팡리뷰!
    • 핫슈
    • 조회 수 309
    • 18.03.04.20:00
    쿠팡 물건 고속보조배터리와 7.1채널 헤드셋이 왓어요
  • kt LTE 노트북 리뷰 (사양 추가 수정)kt LTE 노트북 리뷰 (사양 추가 수정)
    • 핫슈
    • 조회 수 412
    • 18.03.04.20:02
    마이크로 SD 외장메모리 장착모습입니다 ^^ 전 20기가 짜리 월3만5천? 내며 2년약정으로 구매햇습니다
  • 제닉스 2만7천원 저가형 키보드 구매!제닉스 2만7천원 저가형 키보드 구매!
    • 핫슈
    • 조회 수 313
    • 18.03.06.23:28
    쿠팡에서 퀵배송온 모습 상품을 뜯고 안에 키보드 박스 청축도 아닌 기계식 같은 키보드 느낌 키스킨(덮개) 이 없습니다
  • 쿠팡서 도착한 공구 드릴 리뷰입니다.쿠팡서 도착한 공구 드릴 리뷰입니다.
    • 핫슈
    • 조회 수 384
    • 18.03.13.16:05
    쿠팡서 물건이 도착 하엿습니다 301호는 제가 사는 빌라 층입니다 ㅎㅎ;; 포장을 뜯으면 이렇게 공구 가 에어백으로 포장되어잇습니다 2개입니다 건전지로 하는 전동드릴이고요 AAA 사이즈 건전지 미포함 (단점) ㅜㅜ...
  • 드디어 EV SSL이 발급되었습니다!드디어 EV SSL이 발급되었습니다!
    • Ilhan
    • 조회 수 295
    • 18.04.29.10:42
    EV SSL을 신청한게 3월 15일인데.. 이제서야 발급에 성공했네요.. 중간에 DUNS 넘버 받고 그거 때문에 통판업 신고도 했고 .. 너무 힘들었습니다 ㅜㅜ COMODO 에서 영어로도 전화해서 너무 힘들었고.. 정말 너무 힘든...
  • 4000포인트 달성!4000포인트 달성!
    헤헤
  • 물건 도착햇져요물건 도착햇져요
    • 핫슈
    • 조회 수 301
    • 18.05.03.17:06
    7세대 메인보드와 이어폰 및 마우스도착
  • 10렙 달성!!!!!10렙 달성!!!!!
    너무 행보케!!!!
  • 컴퓨터본채 도착햇습니다컴퓨터본채 도착햇습니다
    • 핫슈
    • 조회 수 314
    • 18.05.18.17:22
    도착햇습니다 저녁에 가서 조립해야것습니다
  • 윈도우 정품 도착!윈도우 정품 도착!
    • 핫슈
    • 조회 수 322
    • 18.06.02.23:59
    일전에 자유게시판에 올렷던 물건 2개가 도착하엿습니다 윈도우10 정품과 드라이버가 도착햇어요 박스로 깔금하개 포장 박스안에는 윈도우10 정품 박스 (키 / 윈도우usb) 짠 이것이 윈도우10 Home FPP 버전 정품입니...
  • 15렙 달성!!!!!15렙 달성!!!!!
    데헷
  • 드디어 출첵 1등!!!!!!!!!!!드디어 출첵 1등!!!!!!!!!!!
    오래 점부터 도전했었는데 이제야 성공했군요. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
  • 30000 EXP!!!!!!!!!30000 EXP!!!!!!!!!
    정확히 111010100110000 찍었습니다. 어느 순간 exp 를 보니 111010011111110 이더군요 그래서 얼른 도와주세요 게시판에 댓글을 작성했습니다. 이제 이 글을 올리면 더 늘어나겠죠. ㅎㅎ
  • 지르심 주문햇습니다지르심 주문햇습니다
    • 핫슈
    • 조회 수 268
    • 18.07.03.00:56
    블리치 블루투스 2개와 노트북허브 질럿어요
  • 그래픽 조택1060 6G 도착그래픽 조택1060 6G 도착
    • 핫슈
    • 조회 수 314
    • 18.07.05.15:44
  • [미디어위키] 1.31. 업데이트, 신규 번들 스킨 "Timeless" 적용[미디어위키] 1.31. 업데이트, 신규 번들 스킨 "Timeless" 적용
    • 260578
    • 조회 수 317
    • 18.07.06.15:06
    불과 몇 달 전 1.30.0으로 버전업을 하였다고 글을 썼었습니다. 그런데, 업데이트를 마친 후 일주일만에 새 안정화 버전이 나와버렸습니다.. 하필 시험기간과 겹쳐 이제서야 업그레이드를 끝냈네요. 요구하는 PHP버전...
  • 괴물 텀블러 30 oz괴물 텀블러 30 oz
    • 웅님
    • 조회 수 317
    • 18.07.13.18:00
    괴물 텀블러 30 oz (900ml) 정도 라고 하더군요. 제품은 RTIC 일단 한번 따르면 상당 시간 마실것이 떨어지지 않습니다. 거기에 컵을 닦을때 손(주먹)이 들어 갑니다.
  • 무선 랜 카드를 구매하였습니다.무선 랜 카드를 구매하였습니다.
    나중에 서버로 라떼판다를 한 대 들여놓을 예정이었는데, 그렇게 되면 공유기 포트가 꽉 차서 PC 한 대만 유선으로 연결할 수 있게 되는 겁니다. 물론 예전에도 다이소산 5000원짜리 무선 와이파이 수신기가 있었지만...
  • [테스트 리뷰] 리노드 vs 카고야 VPS 시간대별 ping 비교[테스트 리뷰] 리노드 vs 카고야 VPS 시간대별 ping 비교
    제가 지난번에 소스게시판에 올린 허접한 '오토핫키를 이용한 핑 측정 스크립트'를 컴파일하여 스틱 PC(유선랜으로 공유기와 연결)에 넣고 3일 동안 매 시간마다 리노드(도쿄 리전)와 카고야의 핑을 측정하였습니다. ...
    • Seia
    • 조회 수 294
    • 18.11.13.23:30
    예전에는 제 개인 리포에서 개발 중이었습니다만 개인적인 명령어까지 포함하다 보니 커밋 로그가 너무 더러워져 버렸어요... ㅠㅜ 그래서 새 조직계를 만들고 Serium-Framework로 이름지어보았답니당 https://github...