Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

0과 1 사이

핵심 이미지 검출 시 단어 출력 본문

(0, 1)/손마리

핵심 이미지 검출 시 단어 출력

고후 2022. 1. 27. 18:20

 

이 파트는 어렵지 않다. 우선 파이썬 딕셔너리(밑의 코드 내에서는 continuous) 내에 단어에 따른 핵심클래스를 모두 정의해둔다.
바로 이전의 결과를 before_result에 저장한다.(단, 결과가 null이면 저장하지 않을것.) 현재의 결과는 result에 저장되고, before_result와 result를 비교해 미리 정의된 딕셔너리 내에서 대응되는 단어를 가져온다.


핵심동작이 1개인 단어도 있고 2개인 단어도 있다. 핵심동작이 1개인 경우, 실행속도가 너무 빨라 단어가 0.1초만에 출력되고 지나가버린다. 따라서 핵심동작 1개인 수화는 15번 프레임동안 출력되게 했다.
또한 2개인 수화의 경우 딕셔너리 안의 value값과 비교한후, 대응되는 단어를 가져와 출력한다.
draw.text는 한글을 이미지 위에 입력하기 위한 코드이다.

#코드
continuous = {'감기':["cold1","cold2"], '아니':["no1","no2"], '콧물':["runnynose1","runnynose2"],
'쓰러지다':["fall1","fall2"], '설사':["diarrhea1","diarrhea2"], '메스껍다':["nauseous1", "nauseous2"]}

list_of_key = list(continuous.keys())
list_of_value = list(continuous.values())

for i in range(len(list_of_key)):
if before_result==list_of_value[i][0]:
if label==list_of_value[i][1]:
word = list_of_key[i]
draw.text((x1, y1), word, font=ImageFont.truetype('malgun.ttf', 36), fill=(0, 0, 0))
image = np.array(pill_image)
break

 

 

이 코드는 핵심 이미지가 1개, 2개인 단어까지만 출력할 수 있는 코드이다.

따라서 이후 코드를 개선했다.

개선된 코드는 다음 포스팅 참고!

 

https://go-ming.tistory.com/15?category=936238 

 

[파이썬] 큐(Queue) 자료구조, 코드 개선

모로 가도 서울만 가면 된다 주의인 나.... 오픈 SW 공모전에 참가하는데 평가 기준에 '코드', '주석' 등이 있는 것을 보고 코드 개선에 도전해본다. ^-^ 참고로 우리가 개발중인 손마리 프로그램은

go-ming.tistory.com

 

Comments