NGMsoftware

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

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

    팁 앤 테크

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

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

    에디터 엔지엠 매크로 프로그램에서 투명 이미지 서치 처리하는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로에서 투명 이미지를 찾으려면 어떻게 해야 할까요? 대부분 OpenCVTemplete Matching 알고리즘을 사용해서 이미지를 찾습니다. 거의 모든 매크로가 이 방식을 사용합니다. 엔지엠 매크로도 동일합니다. 하지만, 이 알고리즘은 투명 이미지를 처리할 수 없습니다. 하지만, 엔지엠 매크로는 [ 이미지 체크 ]와 [ 이미지 서치 ]를 이용해서 투명 이미지를 찾을 수 있습니다. 예제로 사용할 이미지는 원신입니다.

    jF9i7YA.png

     

     

    위 이미지에서 왼쪽에 있는 운명의 자리 글자를 인식 해볼께요. 배경이 움직이지 않는 이미지라서 테스트가 무의미할 수 있는데요. 다행스럽게도 윈도우의 사진앱과 그림판 또는 픽픽과 같은 프로그램의 픽셀 정보값이 다릅니다. 테스트를 위해 엔지엠 매크로를 실행하고 새로운 이미지를 추가합니다. 아래 그림과 같이 File > 새로 만들기 > 이미지를 클릭하세요.

    AXICrLD.png

     

     

    아래 동영상을 참고하여 "운명의 자리" 캡쳐 영역을 잡고 저장(F1)하세요. 그리고, 글자가 아닌 배경을 투명화 할건데요. 배경은 시시각각 변화하므로 투명 색상으로 선택하면 안됩니다. 변화하지 않는 흰색 글자를 선택해야 합니다. 투명색으로 흰색을 선택하고 반대로 적용을 True로 선택해보세요. 그러면 흰색을 제외한 나머지 색들이 모두 사라집니다. 마지막으로 흰색 글자 영역이 너무 작아서 인식하는데 문제가 될 수 있으니 좀 더 명확하게 인식시키기 위해 투명도 범위를 25정도 주었습니다.

     

     

    새로운 스크립트를 하나 추가하고, 이미지 서치 액션을 추가하세요. 위에서 저장한 이미지를 이미지 이름 목록에서 선택하세요. 그리고, 투명 사용 옵션을 True로 변경해주세요.

    pmbYVXH.png

     

     

    이미지 서치 액션의 마우스 클릭도 설정하고, 매크로를 실행 해보세요. 윈도우 사진앱에서 이미지를 캡쳐했기 때문에 잘 찾아주는걸 확인할 수 있습니다. 그런데, 이미지 처리 방식이 다른 픽픽 또는 그림판에서 이미지를 불러온 후 다시 실행해보면 같은 이미지인거 같은데 찾지를 못합니다. 왜 이런 결과가 발생할까요? 사람 눈으로는 식별할 수 없을만큼 미세하게 픽셀 값이 달라졌기 때문입니다. 

     

     

    그럼, 이 문제를 어떻게 해결해야 할까요? 그건, 픽셀을 처리하는 값에 공차(Tolerance)를 늘려주는겁니다. 이렇게하면 픽셀(RGB)값에 설정한 공차 값만큼 +-해서 비교합니다. 공차가 클수록 흰색과 회색이 같다고 판단합니다. 녹색과 연두색도 그렇죠. 물론, 노란색과 연두색도 공차에 영향을 받습니다. 여기서 정말 중요한 팁이 하나 있습니다. 글자는 상하좌우 글자 끝 부분에서 픽셀이 늘었다 줄었다하는 특성이 있습니다. 이런 경우에는 색상 범위가 너무 크기 때문에 인식이 불가능합니다. 그래서, 이미지를 캡쳐할 때 변화폭이 작은 영역만 사용하시는게 가장 좋은 방법입니다.

    qZ8AJcH.png

     

    GCAerTT.png

     

     

    공차 값을 10정도 주고, 다시 실행 해볼까요? 이번에는 윈도우 사진앱과 이미지 프로그램인 픽픽에서 모두 인식하는걸 확인할 수 있습니다. 사용자의 컴퓨터 환경에 따라서 인식율은 약간 차이가 있을 수 있는데요. 이런 경우에는 공차 값을 25정도로 높여보세요. 공차 값이 클수록 처리해야 하는 데이타량도 늘어나므로 속도가 점점 느려집니다. 그래서, 가능하면 타이트하게 공차 값을 설정해주는게 좋습니다. 가급적이면 [ 이미지 매치 ]나 이미지 서치(No 투명, No 공차)를 사용하는게 좋긴합니다^^

     

     

    이미지를 다시 열고, 아래 그림과 같이 편집된 이미지를 바탕화면에 저장합니다.

    GozItBq.png

     

     

    사진앱으로 열어보면 배경이 투명화된 상태로 저장된걸 확인할 수 있습니다.

    zihJYyH.png

     

     

    엔지엠 매크로는 전문적인 이미지 편집도구가 아니다보니 기능적인 면에서 부족한 부분들이 있습니다. 좀 더 전문적인 도구를 이용해서 투명 이미지를 처리하려면 포토샵이나 픽슬러와 같은 프로그램을 사용해도 됩니다. 아래 글들을 참고하시면 도움이 될거 같습니다.

    [ 반투명 이미지 처리하는 방법. ]

    oAKjtBE.png

     

     

    포토샵이나 픽슬러와 같은 이미지 편집 도구를 사용하면 이미지가 ngi 형식이 아닌 png 또는 jpg가 됩니다. 그런데 여기서 문제는 jpg로 저장하면 처음에는 잘 되다가 나중에는 인식이 안되는 경우가 발생합니다. 이런 문제가 생기는 이유는 png와 ngi는 무손실 압축 방식을 사용해서 이미지를 처리하고 jpg, gif, jpeg는 손실 압축 방식을 사용한다는 점입니다. 손실 압축 방식으로 만들어진 이미지들은 열때마다 픽셀 정보가 유실됩니다. 인터넷에 떠다니는 gif나 jpg들을 보면 화질이 떨어지는 이미지들을 보신적이 있을겁니다. 이런 이미지들은 처음에는 고화질로 저장되었겠지만 시간이 지남에 따라 화질이 떨어지면서 열화되었을겁니다. 그래서, 꼭~!!! png 또는 ngi 이미지를 사용하셔야 합니다. 이미지 파일로도 잘 인식이 되는지 테스트 해보세요.

     

     

    픽슬러를 이용해서 아래 원본 이미지로 투명 이미지를 만들었습니다.

    vil5lne.png

     

    2SJYgju.png

     

     

    잘 보일지는 모르겠지만, 배경을 제거한 투명 이미지로 저장되었습니다.

    jxTdWgP.png

     

     

    이미지 서치에서 방금 저장한 이미지를 선택하고, 매크로를 실행 해보세요. 정상적으로 찾아지는걸 확인할 수 있습니다.

     

     

    반투명 또는 투명 이미지를 서치할 때 여러가지 노하우가 조금 필요합니다. 이미지의 상태가 어떠냐에 따라서 달라지는 부분이고요. 인식할 이미지의 그라데이션이나 뭉개짐 정도에 따라서도 얼만큼 캡쳐해서 어느정도 범위로 투명하게 만들지등등... 고려해야 할 요소들이 있습니다. 그런데, 이런 부분들은 엔지엠 매크로 이미지 편집기에서 빠르게 투명 범위를 설정해서 저장하고, 스크립트에서 실행 해보면서 쉽게 테스트가 가능합니다. 결국 시간도 비용이므로 엔지엠 매크로만큼 업무 자동화 시스템을 만드는데 최적의 프로그램도 없긴합니다. 여러분들도 한번 도전 해보세요^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.