박민혀기

GDSC Toy 프로젝트 주요코드 본문

Deep Learning

GDSC Toy 프로젝트 주요코드

박민혀기 2023. 4. 4. 10:45

서버 코드

import socket, time

host = 'localhost'
port = 3333

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

server_socket.bind((host, port))

server_socket.listen()

print('echo server start')

client_soc, addr = server_socket.accept()

print('connected client addr:', addr)

data = client_soc.recv(100)
msg = data.decode()
print('recv msg:', msg)
client_soc.sendall(msg.encode(encoding='utf-8'))

time.sleep(5)
server_socket.close()

 

클라이언트 코드

import socket

server_ip = 'localhost'
server_port = 3333

socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.connect((server_ip, server_port))

msg = input('msg:')
socket.sendall(msg.encode(encoding='utf-8'))

data = socket.recv(100)
msg = data.decode()
print('echo msg:', msg)

socket.close()

 

POST.py

import cv2
import pytesseract
import matplotlib.pyplot as plt
import requests

pytesseract.pytesseract.tesseract_cmd = R'C:\Program Files\Tesseract-OCR\tesseract'

path = "test8.jpg"
img = cv2.imread(path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

text = pytesseract.image_to_string(img, lang='kor+eng')
replace_text = text.replace('.', ',')
split_text = replace_text.split()

cnt = 0
sum_flag = 0
flag = 'OK'
json_data = {}
for word in split_text:
    if(flag == 'pass'):
        flag = 'OK'
        continue
    elif(word.find("과세물품") == 0):
        break
    elif(cnt == 0):
        json_data["menuName"] = word
    elif(cnt == 1):
        json_data["price"] = word
    elif(cnt == 2):
        json_data["number"] = word        
        print(json_data)
        json_data.clear()
        cnt = 0
        flag = 'pass'
        continue
    cnt += 1

#  print(split_text)



cv2.imshow("img", img)
cv2.waitKey(0)

# datas = {
#     "menuName" : "국수", #메뉴 이름
#     "price" : 6000,     #메뉴 가격
#     "number": 1,        #메뉴 개수
#     "shop" : "지짐이",  #가게 이름
#     "startT" : "2023-01-31T12:42"       
#     #방문 시간 -> 영수증에서 추출 어려우면 백엔드에서 update할게요
# }


# print(datas)
# url = "http://localhost:8080/user/create"

# headers = {'Content-Type' : 'application/json; charset = utf-8'}

# response = requests.post(url, json = datas, headers=headers)
# print(response)