파이톤으로 초밥을 만들어 보도록 하겠습니다.
Pythn3로 초밥을 풀어봤어요.
며칠 전 Qita 기사에서 싸이혼 초보자가 1년 동안'초밥을 풀어보고 때리는 것'을 해본 것 같아서 했습니다.
나는 단지 부정행위일 뿐이라는 것을 이해하지만, 차트에 등록하지 않았기 때문에 용서해 주십시오.
비디오↓
이 보도
개시하다
어제 그저께 파이토존에 지갑을 넣었는데https://youtu.be/fSpRSJDFPLo 왜 pyocr를 못 썼는지 아주 번거로운 방법으로 숫자를 읽었는데 왠지 안 썼어요.
그래서 얼른 할게요.
컨디션
그림에서 문자 불러오기
Pytohon에서 pyocr를 사용하여 텍스트를 읽습니다.
참고인용하다.
moji.py
from PIL import Image
import sys
import pyocr
import pyocr.builders
def moji(a):
tools = pyocr.get_available_tools()
tool = tools[0]
langs = tool.get_available_languages()
lang = langs[0]
#txtに変換した文字列を代入する
txt = tool.image_to_string(
Image.open(a + '.png'),
lang="eng",
builder=pyocr.builders.TextBuilder(tesseract_layout=6)
)
Text = list(txt) #文字列を配列に変換
count = len(Text)
i = 0
while True: #寿司打の場合小文字アルファベットか'-'しか出てこないのでそれ以外の文字が出てきていたら削除する
if i >= count:
break
if Text[i] < 'a' or Text[i] > 'z':
if Text[i] != '-':
del Text[i]
count -= 1
else:
i += 1
else:
i += 1
txt = str(''.join(Text)) #文字列に戻す
return txt
캡처
초밥을 만들 때 한가운데 일본어와 영어(로마자)가 나오기 때문에 캡처해서 아래 알파벳 문자열을 얻었다.
이 보도
이때 알파벳 문자열의 길이에 따라 테두리의 크기가 바뀌므로 미세하게 조정해야 한다.
(아득히 먼 은하수)
이걸 최대한 공격해서 시간이 많이 단축된 것 같습니다.
main.py
import pyaoutgui
#省略
img = pa.screenshot(
imageFilename="screenshot" + str(i) + ".png", # 保存先ファイル名
region=(797, 588, 275, 30) # 撮影範囲(x,y,width,height)
)
#省略
입력
모지 함수에 그림 (파일 이름) 을 보내고 문자열을 되돌려줍니다.
pyaoutgui로 되돌아오는 문자열을 입력했습니다.
main.py
import pyoutgui as pa
#省略
string = moji.moji("screenshot" + str(i))
pa.typewrite(string, interval = 0.0)
#省略
시간을 낭비하다.
화면이 전환되는 순간이 캡쳐에 포착되지 않도록 시간을 조정했다.
여기도 거의 한계야.
main.py
import time
#省略
nowtime1 = time.time()
while True:
if time.time() - nowtime1 > 0.25:
break
#省略
감상
그림으로 보면 문자가 어려울 것 같아!만약 이 점을 할 수 있다면, 반드시 일종의 학습이 될 것이다!나는 전혀 어렵지도 공부도 아니라고 생각한다.
하지만 인력으로는 불가능한 기록이 있어 즐겁다.
코드 전체 텍스트
main.py
import moji
import pyautogui as pa
import time
start = time.time()
pa.mouseDown(x = 765, y = 588, button = 'left')
pa.mouseUp()
pa.typewrite(" ", interval = 0.0)
nowtime = time.time()
while True:
if time.time() - nowtime > 1.5:
break
i = 0
while True:
if time.time() - nowtime > 300:
break
print(i)
img = pa.screenshot(
imageFilename="screenshot" + str(i) + ".png", # 保存先ファイル名
region=(797, 588, 275, 30) # 撮影範囲(x,y,width,height)
)
string = moji.moji("screenshot" + str(i))
pa.typewrite(string, interval = 0.0)
print(string)
nowtime1 = time.time()
while True:
if time.time() - nowtime1 > 0.25:
break
i += 1
종결어.
Reference
이 문제에 관하여(파이톤으로 초밥을 만들어 보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/RRRF/items/2b9b9cccddc0e38c34f4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)