본문 바로가기
반응형

이미지맥스 그리고 루아(lua)42

[lua] 날짜와 시간 함수 os.date() [lua] Time Function 루아에서는 시스템OS 시간 관련 정보를 취득할수있는 함수가 크게 3가지가 있습니다. 시스템의 날짜와 시간을 알 수 있는 함수 os.date() UTC+0, 1970년 1월 1일 기준으로 경과한 시간을 알 수 있는 os.time() 프로그램이 첫 실행후 경과한 시간을 알 수 있는 os.clock() 1. 날짜와 시간 함수 os.date() os.date() 함수는 현재 시스템의 날짜와 시간을 스트링형태의 리턴값을 얻을 수 있는 함수입니다. local date = os.date() print('os.date : '..date) --> os.date : 2022-03-26 17:31:58 인수에 스트링 '*t' 를 입력해줌으로 년, 월, 일, 시, 분, 초, 요일, 섬머타임.. 2021. 4. 17.
[이미지맥스] 이미지 검색 실패시 드래그 혹은 휠다운 등 추가 행동 하기 이미지맥스를 이용하여 자동화툴을 제작하면서 특정 영역에서 이미지를 검색하고 찾지 못한 경우 드래그를 하거나 휠동작을 하여 스크롤을 내려 추가적으로 재차 이미지검색을 해야 할 경우가 있습니다. 반복문을 이용하여 해당 동작을 쉽게 구현할 수 있습니다. 우선 ImageSearch() 함수를 통해 이미지를 검색하여 return 값이 0:검색실패인 경우와 1:검색성공인 경우의 동작 코드를 작성합니다. if ImageSearch('find_image') == 1 then print('이미지를 찾았습니다') else print('이미지를 찾지 못하였습니다.') end --> 이미지를 찾은경우 '이미지를 찾았습니다' 문자열을 출력 --> 이미지를 찾지 못한 경우 '이미지를 찾지 못하였습니다' 문자열을 출력 이 동작에 .. 2021. 4. 9.
[이미지맥스] 내장함수 멀티이미지 검색 MultiImage() 이미지맥스는 루아 스크립트 언어를 사용하여 코딩이 가능합니다. 기본적으로 제공하는 기능을 활용하여도 괜찮지만, 코드를 통해 좀더 다양한 기능을 구현할수 있다는 것이 장점입니다. 루아의 기본적인 함수는 물론, 이미지맥스 에서 제공하는 내장함수 라이브러리도 있으니 이를 활용하여 매크로 프로그램을 설계하면 좋을것입니다. 이미지맥스에서 제공하는 함수 라이브러리는 공식카페(cafe.naver.com/imagemax/302)에서 확인하실수 있습니다. 한번에 여러 이미지를 동시에 검색 할때 활용 할수 있는 함수는 멀티이미지검색 MultiImage() 함수가 있습니다. 여러 이미지를 and, or 논리식을 세워 검색하여 결과를 0 또는 1 정수로 받을수 있는 함수입니다. MultiImage('MULTI_IMAGE_ST.. 2021. 4. 5.
[이미지맥스] 내장함수 이미지서치 관심영역변경 SetImageROI() 이미지맥스는 루아 스크립트 언어를 사용하여 코딩이 가능합니다. 기본적으로 제공하는 기능을 활용하여도 괜찮지만, 코드를 통해 좀더 다양한 기능을 구현할수 있다는 것이 장점입니다. 루아의 기본적인 함수는 물론, 이미지맥스 에서 제공하는 내장함수 라이브러리도 있으니 이를 활용하여 매크로 프로그램을 설계하면 좋을것입니다. 이미지맥스에서 제공하는 함수 라이브러리는 공식카페(cafe.naver.com/imagemax/302)에서 확인하실수 있습니다. 자동화툴을 만들다보면 특정 화면 내에서 동일한 이미지로 여러 영역을 나눠서 검색해야 하는 경우가 있습니다. 이런 경우 위치마다 이미지를 모두 따는 것이 아니라 ROI (이미지서치 관심영역) 을 변경하며 동일한 이미지를 재활용 하는 방법을 사용할수 있습니다. 이미지맥스 .. 2021. 4. 5.
[이미지맥스] ImageSearch()의 결과값을 boolean 값으로 받기 isImage() 이미지맥스에서 이미지파일을 검색할때에는 ImageSearch() 라는 이미지맥스의 내장함수를 사용합니다. 정확한 사용법을 모르시겠다면 아래 링크를 참조해주시기바랍니다. 2021.03.04 - [이미지맥스, lua/배워보기] - [이미지맥스] 루아 내장함수 이미지찾기 ImageSearch() 1. 이미지 검색 함수를 boolean 으로 리턴받기 ImageSearch() 함수의 리턴값은 (0, 1) 로 정수형태로 돌아옵니다. 루아의 특성상 0, 1은 둘다 true 로 취급되어 만일 if문에서 활용하기위해서는 비교문으로 활용을 해야합니다. -- #1. ret값 변수를 지정하기 local ret = ImageSearch('image_file') if ret == 1 then print('이미지를 발견하였습니다'.. 2021. 3. 29.
[이미지맥스] 내장함수 마우스제어 Mouse() 이미지맥스는 루아 스크립트 언어를 사용하여 코딩이 가능합니다. 기본적으로 제공하는 기능을 활용하여도 괜찮지만, 코드를 통해 좀더 다양한 기능을 구현할수 있다는 것이 장점입니다. 루아의 기본적인 함수는 물론, 이미지맥스 에서 제공하는 내장함수 라이브러리도 있으니 이를 활용하여 매크로 프로그램을 설계하면 좋을것입니다. 이미지맥스에서 제공하는 함수 라이브러리는 공식카페(cafe.naver.com/imagemax/302)에서 확인하실수 있습니다. 이미지맥스에서 제공하는 마우스제어 함수는 다음과 같이 사용합니다. Mouse(BUTTON, EVENT, X1, Y1, X2, Y2, RX, RY, DELAY_SEC, INTERLATION, SPEED, TYPE) -- BUTTON : 좌클릭(LBUTTON), 우클릭(R.. 2021. 3. 28.
[lua] 테이블 길이 확인 Table Value Lenth [lua] Table Value Lenth Count for문을 이용한 함수를 이용하여 테이블의 밸류의 개수를 알수있습니다. 혹은 테이블 형태의 변수에 #을 접두어로 사용하여 사용해도 테이블의 밸류 갯수를 리턴합니다. 하지만 이경우 key를 가지는 딕셔너리 형태의 테이블인 경우는 개수가 카운트되지 않습니다. function lenTable(table) if type(table) == "table" then local count = 0 for _ in pairs(table) do count = count + 1 end return count else print('argument must input table') end end > 예시 local a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10.. 2021. 3. 28.
[이미지맥스] 내장함수 이미지찾기 ImageSearch() 이미지맥스는 루아 스크립트 언어를 사용하여 코딩이 가능합니다. 기본적으로 제공하는 기능을 활용하여도 괜찮지만, 코드를 통해 좀더 복잡하고 다양한 기능을 구현할수 있다는 것이 장점입니다. 루아의 기본적인 함수는 물론, 이미지맥스 에서 제공하는 내장함수 라이브러리도 있으니 이를 활용하여 매크로 프로그램을 설계하면 좋을것입니다. 이미지맥스에서 제공하는 함수 라이브러리는 공식카페(cafe.naver.com/imagemax/302)에서 확인하실수 있습니다. 이미지맥스에서 제공하는 이미지검색 함수는 다음과 같이 사용합니다. ImageSearch('STRING_IMAGE_NAME') -- > Return : 인식여부(0,1), 이미지유사도, 이미지중앙기준좌표 x, y, 이미지원점기준좌표 x, y local ret, .. 2021. 3. 4.
[이미지맥스] 루아스크립트용 액션전용이미지 추가하기 이미지맥스에는 기본적으로 제공하는 이미지 검색과 이미지 클릭 등의 기능 이외에도 스크립트 기능을 통해 루아(Lua) 언어로 프로그램을 작성하여 동작하게 할수 있습니다. 이를 위해 스크립트를 동작할 액션전용이미지를 추가할 필요가 있습니다. 액션전용이미지는 스크립트 기반으로 매크로를 동작할수 있도록 도와주는 장치라고 생각하면 되겠습니다. 1. 액션전용이미지 추가하기 액션전용이미지도 이미지 추가 버튼을 눌러 추가할수 있습니다. 이때 아무 이미지도 선택하지 않고 바로 디스켓 모양 버튼을 눌러 저장을 바로 합니다. '추가' 버튼을 누른 뒤 아무 이미지도 선택하지 않고 바로 저장버튼으로 이미지를 저장하면 액션전용 이미지를 추가할수 있습니다. 스크립트를 동작시킬 액션전용이미지의 이름은 'script' 로 저장해보겠습.. 2021. 3. 3.
[이미지맥스] 이미지 추가, 이미지 서치, 이미지 클릭 인식대상으로 설정한 그림판 애플리케이션에 현재 '사각형'과 '원' 두개의 도형이 있습니다. 이미지맥스는 이 두 이미지를 찾은뒤 각종 동작을 꾸밀수 있는데, 오늘은 이미지를 찾고 있다면 마우스 왼쪽 버튼을 클릭하게 만들도록 하겠습니다. 이미지맥스 인식대상 하단에 '추가' 버튼을 누르면 인식대상에서 이미지를 캡쳐 할 수 있는 툴이 실행됩니다. 그렇다면 이제 원하는 이미지를 마우스 드래그를 통해 선택하도록 합니다. 선택되어진 이미지는 'Image Selector' 윈도우에 표시가 됩니다. 이곳에서 마우스를 드래그 하여 캡쳐한 이미지를 키보드 '상', '하', '좌', '우' 방향키 버튼으로 1픽셀씩 이동하거나 'SHIFT' + '상', '하', '좌', '우' 버튼을 함께 눌러 사이즈를 조정할수 있습니다. 이.. 2021. 3. 3.
[이미지맥스] 인식 대상 설정 이미지맥스(ImageMax)는 인식대상 애플리케이션의 화면상에서 이미지를 검색하고 각종 마우스 클릭, 키보드 입력 등 다양한 동작을 자동화 하는 툴입니다. 지금 부터 이미지맥스 툴에 대해 기본적인 사용방법과 스크립트를 기반한 매크로 동작을 공부해보겠습니다. 기본적인 사용에 앞서 우선 이미지맥스가 동작할 프로그램을 설정해야 합니다. 프로그램을 실행하면 초기화면이 다음과 같이 나오는데 '인식 대상' -> '설정' 버튼을 통해 인식 대상을 지정할수 있습니다. 연습을 위해 그림판을 열어 지정해보도록 하겠습니다. 아래와 같이 실제 동작이 될 화면으로 마우스를 옮기면 붉은 테투리 영역으로 인식되는것을 확인할수 있습니다. 인식 대상이 맞다면 마우스 왼쪽 버튼 클릭 혹은 키보드 F2 를 누르면 인식 영역이 설정됩니다... 2021. 3. 3.
[이미지맥스] 와 [루아(Lua)] 란? 이 카테고리에서는 이미지 검색 기반 매크로툴인 '이미지맥스(ImageMax)' 그리고 이미지맥스에서 스크립트 언어로 사용중인 '루아(Lua)' 관련 포스트를 진행할 예정입니다. 이미지맥스는 애플리케이션상의 이미지 검색을 기반으로 하여 OCR, 마우스입력, 키보드입력, 수치연산등 다양한 행동을 자동화하여 쉽게 제작 할 수 있는 툴입니다. 기본적으로 지원하는 약간의 설정을 통해 검색할 이미지를 추가하고 손쉽게 시퀀스를 만들어 순차동작을 꾸밀수도 있습니다. C#, Python 등의 언어로 직접 프로그램을 코딩하여 비활성 윈도우 제어 하기위해서 어렵게 hwnd 를 찾거나 할 필요가 없습니다. 손쉬운 윈도우 Picker를 제공하며 이를 이용하여 원하는 윈도우를 선택하면 즉시 비활성 윈도우 콘트롤 제어를 할 수 있.. 2021. 3. 3.
반응형