카테고리 없음

오토핫키 파인드텍스트(FindText)를 이용하여 OCR구현

realnotepad 2024. 11. 4. 09:29
소개

 

파인드 텍스트 기능 소개
- 화면에서 텍스트를 인식하여 읽어오는 기능입니다
- 특히 이미지에서 텍스트를 추출할 때 매우 빠른 속도를 자랑합니다

장단점
장점:
- 텍스트 인식 속도가 매우 빠름
- 멀티서치를 통해 여러 텍스트를 동시에 검색 가능

단점:
- 폰트나 템플릿이 일정하지 않은 경우 인식하고 싶은 텍스트를 매번 새로 등록해야 함

활용 팁:
- 멀티서치 기능을 활용하면 화면 내에서 찾고자 하는 여러 텍스트를 한 번에 검색할 수 있음
- 검색된 결과는 배열 형태로 반환되어 처리하기 용이함

이 기능은 빠른 텍스트 인식이 필요한 상황에서 특히 유용하게 활용할 수 있습니다.


로직

<이름> : 반환 배열내에 ID를 얻기 위한 핵심 작업입니다

 

해설:

첫 번째 라인코드는 0에 대한 숫자를 찾기위한 이미지이고,

두 번째 라인코드는 1에 대한 숫자를 찾기위한 이미지입니다

 

반환된 배열에 대한 간단한 설명:

[1]["ID"] : 0 과 같이 반환된 것을 볼 수 있습니다. 위에 기초로 <이름> 작업을 해둬서 ID키에 반환이 된 것입니다


 

테스트 GIF


소스코드
#Include ..\Findtext.ahk
CoordMode,mouse,screen
coordmode,pixel,screen
image:="|<0>**50$10.DllauLjOx/obGxfLhjbCDm"
image.="|<1>**50$7.7iwTjq/5WlMgK/7k"
image.="|<2>**50$9.zaCyrO3EuCngn6kjw3zw"
image.="|<3>**50$8.TgTvvExvFrYBvTb7zc"
image.="|<4>**50$10.3sBVa6MpaqvPRs3zQ5UK1u"
image.="|<5>**50$8.TwDToDv7yEoBvTj7zc"
image.="|<6>**50$9.Dn6rqyjp6bRvhBvrT6TY"
image.="|<7>**50$10.zz0zv3MBUg6kO1MBUo2ED2"
image.="|<8>**50$10.DllamLdSaqQvSxvrjSq6Dm"
image.="|<9>**50$10.T/Sx/rhSqDDhybqMty8"

f5::msgbox % searchsort(0, 0, A_ScreenWidth, A_ScreenHeight, image)

SearchSort(a,b,c,d,e)
{
       if(obj:=FindText("Wait",1,a,b,c,d,0,0,e))
       {
            obj:=findtext().sort(obj)
            for k,v in obj
                n.=obj[a_index].id "|"
       }
       return regexreplace(SubStr(n,1,strlen(n)-1),"\|")
}