NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

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

    에디터 배경이 바뀌는 반투명 이미지 찾아서 클릭하는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 배경이 바뀌는 반투명 이미지를 찾아서 클릭하는 방법은 여러가지가 존재합니다. [ 이미지 서치 ]나 [ 이미지 매치 ]를 이용할 수 있는데요. 이 둘의 동작 방식은 약간 차이가 존재합니다. 이미지 서치는 투명 픽셀을 이용하고, 이미지 매치는 마스크 이미지를 이용하여 처리합니다. 테스트를 위해 아래와 같은 이미지를 그림판에서 열어 두었습니다.

    NUs585o.png

     

     

    엔지엠 매크로 에디터를 실행하고, 새로운 스크립트를 추가하세요.

    cnOuw3h.gif

     

     

    화면 중앙에 있는 캐릭터를 캡쳐해서 테스트할겁니다. 이미지 매치를 추가하고, 아래와 같이 캡쳐 해보세요.

    BHUJt4q.png

     

     

    마스크 이미지를 만들기 위해 이미지를 png로 바탕화면에 저장 해줍니다.

    kK0lvGS.png

     

     

    바탕화면에 아래와 같이 이미지를 저장했습니다.

    WESPAwj.png

     

     

    픽슬러를 이용해서 배경을 검은색으로 만든 후 저장 해줍니다.

    lqC1565.png

     

     

    저장한 이미지는 원본과 동일한 크기여야 합니다. 그리고, 원본이 흑백(Gray)이면 마스크 이미지도 흑백이어야 합니다.

    Kr8tHbx.png

     

     

    [ OpenCV Templete Matching 공식 사이트 ]를 보면, 마스크를 사용할 때 매치 옵션을 2가지만 사용할 수 있습니다. 그런데, 실제로 테스트 해보면 "CCoeffNormed"를 사용해도 정상적으로 마스크 템플릿 매칭이 잘 됩니다. 엔지엠 매크로에서는 이미지 매치 액션입니다.

    • CCorrNormed
    • SqDiff

     

    마스크 테스트를 해보면 상황에 따라서 다르긴 하겠지만, CCoeffNormed가 더 정확하게 처리되는거 같습니다. 이미지 매치에 아래와 같이 설정 해주세요.

    ※ 아래 이미지의 매치 옵션은 CCoeffNormed를 사용하세요.

    dykzM4x.png

     

     

    아래 동영상은 마스크 테스트와 마스크 없는 일반 테스트의 결과입니다. 고정된 이미지라서 캡쳐 당시와 동일하기 때문에 마스크 유무와 상관없이 모두 잘 찾아집니다.

     

     

    이미지를 찾는 속도는 마스크를 사용하지 않았을 때가 더 빠릅니다.

    • Runtime: 00:00:00.384 (마스크 O)
    • Runtime: 00:00:00.267 (마스크 X)

     

    이번에는 실제로 마스크가 정상적으로 동작하는지 확인하기 위해 아래와 같이 배경에 색깔을 칠해두었습니다.

    BkUuoHF.png

     

     

    아래 동영상은 마스크 없이 이미지 매치를 실행하고, 마스크를 추가한 후 이미지 매치를 실행한 테스트입니다. 매치 옵션을 변경하여 한번 더 테스트 했습니다.

     

     

    마스크 없는 이미지 매치

    • 1: 비교 결과: False
    • 매치율 결과: 0.377359926700592
    • Runtime: 00:00:00.233

     

    마스크 있는 이미지 매치 (매치 옵션: CCoeffNormed)

    • 1: 비교 결과: True
    • 매치율 결과: 0.962878584861755
    • Runtime: 00:00:00.795

     

    마스크 있는 이미지 매치 (매치 옵션: CCorrNormed)

    • 1: 비교 결과: True
    • 매치율 결과: 0.998908996582031
    • Runtime: 00:00:00.397

     

    위의 결과를 보면 마스크 있는 이미지 매치에서 매치 옵션을 CCorrNormed로 사용할 때 매치율이 가장 정확하고 속도도 빠릅니다. 속도 차이는 약 2배정도 나는군요. 이번에는 아예 없는 이미지를 찾도록 해보겠습니다. 아래 동영상에서도 확인하셨겠지만, 매치 옵션을 CCorrNormed로 설정하면 이미지가 없는데도 찾았다고 마우스가 이동합니다.

     

     

    매치 옵션 (CCoeffNormed)

    • 1: 비교 결과: False
    • 매치율 결과: 0.336652129888535
    • Runtime: 00:00:00.740

     

    매치 옵션 (CCorrNormed)

    • 1: 비교 결과: True
    • 매치율 결과: 0.955256223678589
    • Runtime: 00:00:00.425

     

    이미지 매치의 매치율 기본값은 80입니다. 매치 옵션을 CCorrNormed로 하면 이미지를 못찾을 때라도 0.9이상 나옵니다.

    • 이미지 있을 때: 0.998908996582031
    • 이미지 없을 때: 0.955256223678589

     

    빠르고 정확하게 마스크를 사용하려면 매치율을 조정해야 합니다. 보통은 99.5로 설정하면 대부분 잘 동작할겁니다.

    4jkdiWt.png

     

     

    이번에는 이미지 서치를 이용해서 배경을 투명하게 만든 후 찾는 방법을 알아보도록 하겠습니다. 이미지 매치와 동일하게 이미지를 캡쳐한 후 이미지를 바탕화면에 저장합니다.

    IAtS1ka.png

     

     

    픽슬러에서 이미지를 불러온 후 레이어를 하나 추가 해줍니다.

    dRSvEEH.png

     

     

    백그라운드 이미지를 선택하고, 삭제합니다.

    tLseLCg.png

     

     

    지우개 도구를 선택하고, 브러시의 부드럽게0%로 변경하세요. 그리고, 선명하게 옵션을 켜줍니다. 선명하게 옵션을 켜지 않고 지우개로 지우면 안티알리어싱으로 인해 주변 픽셀 값들이 깨끗하게 지워지지 않고, 알아서 적당한 픽셀로 처리됩니다. 이렇게하면 의도하지 않는 픽셀들이 생겨나므로 주의해야 합니다.

    HKC3Bch.png

     

     

    배경을 깨끗하게 제거한 후 다른 이름으로 저장하세요.

    4F5eEqf.png

     

     

    캡쳐한 이미지를 열고, 편집한 이미지를 불어온 후 저장하세요.

    CpZHrOa.png

     

     

    이미지 서치 옵션에서 투명 사용True로 변경하세요.

    Ygja0DA.png

     

     

    이미지 매치 테스트와 동일하게 찾을 이미지의 배경을 변경 해줍니다. 그리고, 매크로를 실행해보세요. 아래 동영상과 같이 잘 찾아지는걸 확인할 수 있습니다.

     

     

    이미지 매치와 이미지 서치에서 배경이 바뀌는 반투명 이미지를 어떻게 찾아야 하는지 알아봤습니다. 여러분들도 테스트를 해보면 알겠지만, 이미지 매치의 마스크 기능이 더 효율적입니다. 이미지 서치의 경우 퍼포먼스를 위해 기본 설정에서는 RGB(Red, Green, Blue)만을 계산해서 처리합니다. 하지만, 투명을 사용하면 Alpha(투명) 값을 추가로 계산해야 하기 때문에 속도가 매우 느려집니다. 각각의 색은 256의 범위를 가집니다. 따라서, 기본 상태일 때는 256 x 256 x 256 = 16,777,216만큼 연산이 이루어집니다. 투명을 사용하면 16,777,216에 256을 곱한 4,294,967,296만큼 연산이 이루어집니다. 여기에 이미지 크기와 해상도에 따라서 더 많은 연산이 이루어지므로 속도가 느릴수밖에 없습니다^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.