2016-08-17 5 views
1

저는 Sikuli를 취미 프로젝트로 사용하여 컴퓨터 게임을 자동화하고 저의 작업에 도움이되는 스크립트를 만들 수있게되기를 바랍니다. 특정 작은 영역에서 (20x20 픽셀) 15 문자 중 하나가 나타납니다. 지금 나는이 15 개의 이미지를 변수로 정의한 다음 if, elif 루프를 사용하여 Region.exists()을 수행하고 있습니다. 지역에 내 이미지 중 하나가 있으면 변수에 적절한 값을 지정합니다.Sikuli 지역의 패턴 매칭은 매우 느림

화면의 두 영역에 대해이 작업을 수행하고 스크립트 조합에 따라 스크립트가 적절하게 클릭됩니다.

지금 문제는 15 if 문을 실행하는 데 약 10 초가 걸린다는 것입니다. 나는이 인식을 1 초 가까이 해보기를 바랬다.

이 문자는 텍스트 문자 일뿐 OCR 기능은 데이터를 정확하게 읽지 못했기 때문에 100 % 정확도를 원했습니다.

OCR을 수행하는 적절한 방법입니까? 여러분이 추천 할 수있는 더 좋은 방법이 있습니까? 지난 3 년 동안 많은 코딩 작업을 수행하지 않았기 때문에 OCR이 향상되었는지 Sikuli가 여전히 관련 프로그램인지 궁금합니다. 이 프로젝트가 취미 프로젝트 일 뿐인 이유는 무료 솔루션을 고수하기를 바라고 있습니다.

답변

1

Sikuli는 화면이나 화면의 일부를 스캔하여 설정된 패턴과 일치 시키려고 시도합니다. 당연히 패턴이 작을수록 일치하는 데 더 많은 시간이 소비됩니다. 이 검출 시간을 개선하기위한 몇 가지 방법 :

  1. 지역 및 패턴 조작 (바인딩 영역 크기)
  2. 기능 설정 (최소 대기 시간을 줄일 수)
  3. 구성 (스캔 속도를 수정)

을 나는이 문제를 좀 더 자세하게 설명했다. here.

OCR은 여전히 ​​신뢰할 수 없습니다. 이를 향상시킬 수있는 방법이 있지만 문자가 제한적이라면 패턴으로 사용하는 것이 더 나을 것입니다. 더 빠르고 더 신뢰할 수 있습니다.

Sikuli 그 자체로서,이 도구는 적극적으로 개발 중이며 문제 해결에 도움이된다면 여전히 관련이 있습니다.