AI

2026.02.12 17:52

이미지 인식, OCR 대신 제미니 2.5 flash 활용

진행중인 프로젝트에서
편의점 영수증을 촬영 또는 업로드하여 특정 상품을 구매했는지 인식해서
포인트를 지급하는 프로세스를 개발중에
웹용 OCR의 인식률이 너무 저조해서 제미니 AI 를 도입 해보았습니다.

웹호스팅 환경에서 결과는 대만족이네요.

프롬프트는 아래와 같이 작성했습니다.
프로젝트 정보 보호를 위해 실 제품명을 "새우깡" 으로 치환 했습니다.

$prompt = "이 이미지를 분석해서 아래 JSON 형식으로만 답해줘. 다른 텍스트는 절대 포함하지 마.
{
\"is_receipt\": true or false,
\"is_convenience_store\": true or false,
\"has_prd\": true or false,
\"is_readable\": true or false,
\"date\": \"YYYY.MM.DD 형식 또는 빈 문자열\",
\"store_name\": \"상호명 또는 빈 문자열\",
\"amount\": \"새우깡 구매 금액만 숫자로, 단위 없이 또는 빈 문자열\",
\"reason\": \"실패한 경우만 사유를 명확하게 한 줄로 작성\"
}
판단 기준:
- is_readable: 영수증 내용이 읽을 수 있을 정도로 선명한가?
* 흐릿함, 너무 어둡거나 밝음, 각도 문제로 텍스트를 읽을 수 없으면 false
* 일부 글자가 흐려도 품목/금액을 파악할 수 있으면 true
- is_receipt: 실물 영수증(품목/금액/날짜가 있는 영수증) 이미지인가?
- is_convenience_store: 편의점 영수증인가?
* 편의점: CU, GS25, 세븐일레븐, 이마트24, 미니스톱, 패밀리마트
* 상호명이 없어도 영수증 형식이고 편의점 품목(음료/과자/즉석식품 등)이 있으면 편의점으로 판단
- has_prd: 새우깡 구매내역이 있는가?
* 인정: 새우깡, 새우강매운맛, 새우깡순한맛 (띄어쓰기 무관) 등 새우깡을 포함하면 인정
* 제외: 다른 과자, 비슷한 제품명 (새우맛과자, 새우칩, 알새우칩 등)
- amount: **매우 중요** - 영수증 총액이 아닌, 새우깡 품목의 금액만 추출
* 새우깡 품목이 여러 개면 모두 합산
* 예: 새우깡 4,500원, 새우깡 3,200원 → amount는 7700
* 예: 카새우깡 5,000원, 콜라 1,500원 → amount는 5000 (새우깡만)
* 다른 상품 금액은 절대 포함하지 말것
reason 작성 가이드 (실패시에만 작성):
- is_readable가 false: \"영수증이 잘 보이지 않아요. 좀 더 선명하게 촬영해주세요\"
- is_receipt가 false: \"영수증 이미지가 아니에요\"
- is_convenience_store가 false: \"편의점 영수증이 아니에요\"
- has_prd가 false: \"새우깡 구매내역이 없어요\"
- 구매 품목을 구체적으로 언급하지 말 것
- 명확하고 친절한 한 줄 문장으로";


// Gemini API 요청 데이터
$requestData = [
'contents' => [
[
'parts' => [
['text' => $prompt],
[
'inline_data' => [
'mime_type' => $mimeType,
'data' => $base64Data
]
]
]
]
],
'generationConfig' => [
'temperature' => 0,
'maxOutputTokens' => 300
]
]; // cURL 요청
$ch = curl_init(GEMINI_URL); ...

Uploaded Image



  • 공유링크 복사
  • profile_image
    리빌더미니홈 1:1 대화하기 @master 구독 39명
  • 그누보드 리빌더는, 그누보드의 기능을 모두 그대로 사용하면서 폴더의 추가만으로 손쉽게 웹사이트를 완성하고 다양한 편의기능을 사용할 수 있습니다. 고도화는 계속 진행됩니다.
    미니홈 쪽지 구독하기
    구독하고 알림받기

    댓글목록

    profile_image
    April미니홈 1:1 대화하기  5일 전

    오 멋진 아이디어네요^^

    2026-02-12 21:22

    profile_image
    리빌더미니홈 1:1 대화하기  5일 전

    감사합니다, 돌려보니 분석 적중이 100% 네요.
    실서비스에서는 어떻게 될지는 모르겠지만, 테스트는 아주 만족스럽습니다!

    2026-02-12 22:40

    profile_image
    no_profile 민호민호미니홈 1:1 대화하기  5일 전

    굿입니다  ^^
    리빌더의 성장에 박수를 보냅니다

    다만 선택과 집중이 되었으면 하는 바랭입니다
    이번에 2차 나오는데 2차도 3차로 쪼개져서 나오지 않을까 싶은 생각이듭니다
    그리고 이번 패치가 나와도 아직 시작도 안된 체험단기능, 타임딜등 갈길이 먼데 이일 저일 너무 많은일을 하셔서 리빌더 완전체 기능은 2년이 되도록 제대로 사용을 못하고 있습니다
    광고관리 컨텐츠관리 스크래퍼 html 에 결재붙이기  빨리 보고 싶습니다

    어쨋거나 주말과 설명절은 쉬기입니다
    약속~~해줘  ^____^

    2026-02-12 22:08

    profile_image
    리빌더미니홈 1:1 대화하기  5일 전

    네..
    상기내용은 빌더기능이 아닌 외주 프로젝트 입니다 ㅠ

    저희도 빌더에 매진을 하는것이 맞다고 항상 생각은 합니다만,
    어쩔 수 없이 빌더를 유지/발전 시키기 위한 지원(?)의 수단으로
    외주 작업을 병행할 수 밖에 없는 부분을 헤아려 주시면 좋을것같습니다 ㅠ

    언젠가는 빌더에 100% 매진할 수 있는 날이 오리라 믿고있습니다.
    항상 감사합니다.

    2026-02-12 22:35

    profile_image
    no_profile 민호민호미니홈 1:1 대화하기  4일 전

    ㅋ 맞습니다
    같이 살수있어야죠
    빨리 안정화되어 그런날이 오기만을 기대합니다
    감사합니다

    2026-02-13 13:44

    profile_image
    리빌더미니홈 1:1 대화하기  4일 전

    네 감사합니다!
    즐거운 연휴 되세요!

    2026-02-13 17:32