NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 2
  • 매뉴얼

    NGM 2의 매뉴얼입니다.

    NGM 2

    NGM 2의 매뉴얼입니다.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    NGM Pro에서 사용할 수 있는 Command에 대해 알아보자 2부.

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 오늘은 [ 1부 ]에서 다루지 못한 Command에 대해 알아보도록 하겠습니다. 새로운 기능이 필요하다고 판단되면 Command에 추가할 예정입니다. 윈도우를 제어한다는 것은 마우스와 키보드를 이용해서 명령을 실행시키는 건데요. 이런 명령들을 편리하게 스크립트로 만들고, 복잡한 명령을 쉽게 처리할 수 있도록 하는 것들이죠. 하지만... 아이디어가 없습니다-_-;

     

    1. OCR Condition

    OCR은 광학 문자 인식(Optical Character Recognition)을 말합니다. 하지만, 여기서 이미지의 문자를 인식한다는 의미는 소프트웨어적인 처리입니다. 우선, 아래 동영상을 보면서 따라해 보시기 바랍니다.

    참고로, OCR을 사용하기 전에 충분히 테스트를 거치고 가능 여부를 판단한 후 사용해야 합니다. 이유는... 생각보다 인식률이 떨어지거든요^^; [ OCR 테스트 방법 보러가기! ]

    1. 이미지에서 텍스트를 추출합니다.

    2. 추출한 텍스트가 "장끼지 살아서 가는"과 같으면 "내 PC"를 클릭하고 3초 후 "휴지통"을 클릭합니다.

    3. 비교할 텍스트를 "장까지 살아서 가는"처럼 변경합니다. (인식률로 인해 "까"를 "끼"로...)

    4. 다시 실행하면 이번에는 휴지통만 클릭하게 됩니다.

     
     

    OCR Condition도 Image Search처럼 3가지 옵션이 존재합니다.

    Syntax: 이미지 이름, 비교할 텍스트, [True Index, False, Index] [Contains]

    위의 대괄호는 옵션입니다. 입력해도 되고, 안 해도 된다는 의미죠.

    캡처한 이미지는 텍스트를 가져올 영역을 나타냅니다. 좌표값이 설정된 영역 안에 비교할 텍스트와 같으면 True Index로 이동되고, 다르다면 False Index로 이동됩니다. 마지막 Contains는 전체 문장에 비교할 텍스트가 포함되어 있는지를 확인하는 옵션입니다.

    ex) 이미지 이름, 비교할 텍스트, 2, 4+

          이미지 이름, 비교할 텍스트

          이미지 이름, 비교할 텍스트+

     

    2. OCR Search

    OCR Search는 Condition과 다르게 전체 화면에서 문자를 찾아줍니다. 성능이 가장 안 좋은 방법이라서 자주 사용되지는 않을 거 같아요. 그리고, 게임 같은 경우에는 인식률이 높지 않습니다. OCR은 대비가 높은 텍스트에 대해서만 인식률이 높거든요.

    인식률이 높은 고대비 이미지

    img.png
     
     
     
    인식률이 낮은 저 대비 이미지
    img.jpg

     

     

    3. Add Handle

    이 Command(커맨드, 지시 또는 명령)는 매크로를 비활성 모드로 실행할 때 필요합니다. 멀티로 프로그램을 제어할 때 각각의 매크로가 어떤 프로그램을 제어할지 알아야 하기 때문입니다. 또는, 윈도우 환경에서 마우스나 키보드와 같은 동작을 직접 수행하느냐 프로그램에 전달하느냐의 차이입니다.

    이 부분은 비활성 모드와 관련되어 있기 때문에 아래 동영상을 통해 알아보도록 하겠습니다.

     

    3-1. 비활성 모드에서 Add Handle을 사용.

     
     
    이 동영상에서 확인할 수 있는 내용이 그리 많지 않지만, 활성 모드와 다른 점은 아래와 같습니다.

    1. 창(윈도우)이 이동해도 마우스 좌표는 동일한 위치를 클릭합니다.

    2. 창(윈도우)이 다른 창 뒤로 숨어도 마우스 클릭이 동작합니다.

    3. 창(윈도우)이 최소화돼도 마우스 클릭이 동작합니다.
       (최소화인 경우 이미지 컨디션 및 서치는 환경에 따라 동작하지 않을 수도 있습니다.)

     

    3-2. Add Handle을 제거한 활성 모드.

    비활성 모드는 창에 직접 명령을 전달하기 때문에 더 효율적(컴퓨터를 사용하는 입장에서...)입니다. 아래는 활성 모드인데요. 이 때는 Add Handle을 삭제하고 진행해야 합니다. 비활성 모드와 비교해서 보세요. 마우스의 제어권이 매크로 프로그램으로 넘어가기 때문에 사용자가 조작하지 않아도 마우스가 움직이는 것을 확인할 수 있습니다.

     

     

    4. Remove Handle

    Add Handle을 이용하여 추가한 창의 Handle 정보를 삭제합니다. 이 Command는 별도로 설정해야 하는 값은 없습니다. 현재 실행 중인 매크로에 설정된 Handle 값을 제거해줍니다. Handle 값이 없기 때문에 환경 설정에 비활성 모드가 체크되어 있더라도 활성 모드로 동작하게 됩니다.

     

    간혹, 비활성 모드로 구현하기 힘든 동작들이 있습니다. 이때 전체 매크로에서 해당 부분만 Remove Handle을 이용해서 활성 모드로 바꾸고, 다시 Add Handle을 사용하면 하나의 매크로에서 활성, 비활성을 부분적으로 적용할 수 있습니다.

     

    5. Random Index

    마지막으로 알아볼 내용은 Random Index(랜덤 인덱스)입니다. 이 기능은 순서대로 실행되는 스크립트를 지정한 규칙에 따라 랜덤 하게 섞어줍니다. 아래 참고 링크를 클릭하면 좀 더 자세한 내용을 확인할 수 있습니다.

    참고:  [ 클릭 ]

     

    어떨 때 사용하면 좋을까요? 매크로를 불규칙하게 동작시키고 싶을 때 사용하면 될 거 같습니다. 하지만 사용 시 주의해야 할 점이 있는데요. 연속된 동작 또는 행위에 대해 순서가 바뀌면 안 된다는 것입니다. 그래서, 어떤 행위에 대해 독립적으로 동작할 수 있도록 스크립트를 만들고, 이런 스크립트들을 관리하는 부모 스크립트에서 랜덤 인덱스를 사용하면 문제가 발생되지 않을 겁니다.

     

    이게 글로 설명하려니 내용이 좀 복잡해 보이는 면이 있네요-_-; 아래 그림을 보면 좀 쉽게 이해가 가려나요^^?

    잘 생각해보면 스크립트를 행위별로 쪼개서 조립할 수 있을 겁니다. 

    img.png

     

     

    우리가 흔히 이야기하는 "Recipe (레시피)"가 대표적인데요. 간단한 예를 들어보면 이렇습니다.

    라면과 짜장면이 있습니다. 이 둘은 만드는 방법이 비슷하지만 똑같지는 않죠? 라면은 물을 넣고 물이 끓으면 면과 수프를 넣습니다. 하지만, 짜장면은 물을 넣고 끓으면 면을 넣는 것까지만 같죠. 이 후에는 물을 버리고 스프를 넣어줍니다.

    여기서 잘 생각해보면 물을 넣고 끓으면 면을 넣는 부분까지 동일하다는 것을 알 수 있습니다. 그렇다면 라면과 짜장면을 모두 레시피로 만든다면 중복되는 부분이 발생되고, 나중에 물이 아닌 육수(말도 안되는 예이긴 하지만...)로 끓여야 한다면 2개의 레써피를 모두 수정해야 합니다. 하지만, 공통된 부분을 별도의 레써피로 만들고 다른 부분을 조립해서 사용한다면 하나의 레시피만 수정함으로써 모두 적용할 수 있는 장점이 생기게 됩니다.

    img.jpg

     

     

    여전히... 어려울 거 같아요. 개발자나 이런 모듈화 작업이 익숙하지 않다면 말이죠^^;

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.