DarkLabel - 이미지/비디오 객체 레이블링 툴 (Image Labeling and Annotation Tool)

개발한 것들 2017.07.18 11:21

동영상(avi, mpg) 또는 이미지에서 물체의 사각형 경계(bounding box)를 따서 labeling 및 다양한 포맷으로 저장할 수 있는 유틸러티 프로그램입니다.


이 프로그램은 물체인식(object detection)이나 영상추적(visual object tracking) 목적의 영상 DB 라벨링 및 ground truth 편집에 활용될 수 있습니다. 최대한 사용 편의성에 초점을 맞추어 프로그램을 개발했으며 영상 추적기를 내장하여 일일히 박스를 그리지 않고도 편리하게 박스편집 및 라벨링 작업을 수행할 수 있습니다.


비상업적 목적이라면 누구나 사용할 수 있으며 사용상 문제점, 건의사항 등이 있으면 댓글로 알려주시기 바랍니다.




프로그램 다운로드 (Download)


DarkLabel1.1_part1.zip

DarkLabel1.1_part2.zip

  • 무설치 / windows에서 동작 (xp 이상)
  • part1과 part2를 모두 다운로드 (첨부파일 용량제한으로 나누어 올림)
  • 첨부된 opencv_ffmpeg320.dll을 동일 실행 폴더에 놓고 프로그램 실행


주요 기능 및 특징

  • 다양한 포맷의 비디오(avi, mpg, ...) 및 이미지(jpg, bmp, png, ...) 지원
  • 복수 개의 박스(box) 설정 및 label 설정 지원
  • 물체인식 및 영상추적 등 다양한 응용의 데이터 포맷 지원
  • 고성능 영상추적기를 내장하여 자동 labeling 지원
  • 사용자 중심의 직관적인 UI 및 다양한 편의기능(단축키 등)


버전 히스토리


* DarkLabel 1.1 (2017.09.06)

- 작업결과를 동영상/이미지로 저장할 수 있는 기능 추가


* DarkLabel 1.0 (2017.07.18)

- labeling 기능 추가, tracker의 성능 및 UI 반응성 개선, 최신 비디오코덱 지원

- 프로그램 이름을 GT_Extractor에서 DarkLabel로 변경


* GT_Extractor 2.3 (2016.09.29)

- 버그 수정 (이미지 리스트에서 GT 파일 저장/불러올 때 오류 현상)


* GT_Extractor 2.2 (2016.08.26)

- 지원 비디오 포맷 추가 (avi, mpg, mp4, wmv, ...)


* GT_Extractor 2.1 (2013.08.12)

- 비디오 뿐만 아니라 이미지 목록에 대해서도 편집 가능


* GT_Extractor 2.0 (2013.01.15)

- 복수개의 대상 설정 및 추적 기능


* GT_Extractor 1.0 (2013.01.08)

- 이미지 당 하나의 대상만 설정할 수 있음



프로그램 사용법




비디오/영상 불러오기 및 프레임간 이동

  • Open Video File: 비디오 파일을 불러온다 (avi, mpg, mp4, wmv, mov, ...)
  • Open Image Directory: 폴더 안의 모든 이미지를 불러온다 (jpg, bmp, png, ...)
  • 영상 프레임간 이동: 키보드 →, ←, PgUp, PgDn, Home, End, 슬라이더 컨트롤


박스(box) 생성 및 편집, Labeling

  • 마우스 드레그(drag)로 새로운 박스 생성
  • 마우스 우클릭: 가장 최근에 생성한 박스 제거(삭제)
  • Shift/Ctrl + 마우스 드레그: 선택된 박스 수정 (이동, 크기 수정, 경계 수정)
  • Shift/Ctrl + 마우스 더블클릭: 선택된 박스의 label 수정
  • Shift/Ctrl + 마우스 우클릭(특정 박스): 선택된 박스 삭제
  • Shift/Ctrl + 마우스 우클릭(빈곳 클릭): 현재 프레임의 모든 박스 일괄 삭제
  • 박스를 생성하면 label 입력창이 자동으로 팝업(popup)
  • label 입력창에서 미리 정의된 label을 선택하거나 새로운 label을 직접 입력
  • 프로그램 실행 폴더에 있는 'labels.txt' 파일을 편집하여 label 목록을 미리 등록
  • label 편집창에 팝업된 상태에서 숫자키(1~9)를 누르면 해당 번째에 해당되는 미리 등록된 label이 자동으로 입력됨
  • label 입력창 비활성화: 'Popup label' 체크 해제 (label이 없는 빈 박스를 생성)


☞ 'Shift/Ctrl'은 Shift 또는 Ctrl의 의미임 (/는 선택사항, 옵션의 의미)



영상추적 기능을 이용한 박스 설정 및 labeling 자동화

  • Enter 키를 누르거나 'Next & Predict' 버튼으로 추적 기능 사용
  • 내장된 영상 추적기를 이용하여 다음 프레임에서의 박스 위치 및 label을 자동으로 설정 (최대 100개까지 복수개의 대상 동시 추적)
  • Enter 키를 계속 누르면서 자동으로 작업하다가 예측된 위치가 틀릴 경우에만 수정하는 방식으로 작업할 수 있음
  • 사용할 tracker는 'Tracker1' 또는 'Tracker2' 중에서 선택 가능 (일반적으로 Tracker1이 성능이 좋지만 자동차 등 형태가 고정된 물체는 Tracker2가 성능이 좋을 수 있음)


☞ 주의: Enter 키를 이용해서 프레임을 넘기면 현재 프레임에서의 박스 및 label을 추적하여 다음 프레임의 박스 및 label을 자동으로 설정하므로 해당 프레임에 원래 있던 데이터는 없어집니다. 프레임간의 단순 이동은 키보드 화살표 키를 이용해야 합니다.



작업 데이터 저장 및 불러오기

  • Load GT: ground truth 파일을 선택한 포맷으로 불러온다.
  • Save GT: 선택한 데이터 포맷으로 현재까지 작업한 결과를 저장한다.
  • 데이터를 불러올 때에는 실제 데이터 파일과 일치하는 포맷을 선택해야 하나 데이터를 저장할 때에는 자신이 원하는 임의의 포맷으로 저장할 수 있음
  • 이미지 목록에서 작업할 경우 프레임 번호(frame#) 포맷을 사용하면 파일명 순으로 정렬했을 때의 이미지 순서가 프레임 번호가 됨 (00001.jpg, 00002.jpg, ... 와 같은 목록에 유용)
  • Save Settings: 현재 선택한 데이터 포맷 및 옵션을 저장 (프로그램 실행시 자동 복원)


데이터 포맷 (Syntax)

  • |: 줄바꿈
  • []: 반복되는 구문
  • frame#: 프레임 번호 (동영상의 프레임 번호, 이미지 목록에서는 이미지 순서)
  • iname: 이미지 파일 이름 (이미지 목록에서 작업할 경우에만 유효)
  • label: 레이블
  • n: 이미지에 설정된 경계사각형 개수
  • x,y: 경계사각형의 left, top 위치
  • w,h: 경계사각형의 폭, 높이
  • cx,cy: 경계사각형의 중심(center) 좌표
  • x1,y1,x2,y2: 경계사각형의 left, top, right, bottom 위치



by 다크 프로그래머


저작자 표시 비영리 변경 금지
신고
  • 이전 댓글 더보기
  • BlogIcon doodler217 2015.01.06 09:36 신고 ADDR 수정/삭제 답글

    안녕하세요. 늘 블로그에서 좋은글 보고 있습니다.
    Tracking에 관련하여 질문을 조금 드리고 싶은데요.
    optical flow기반으로 하셨다고 하셨는데, 그에대한 포스팅 내용이나 다른 설명이 조금 있을까요?
    좋은 정보 감사합니다.

    • BlogIcon 다크pgmr 2015.01.06 13:46 신고 수정/삭제

      안녕하세요. 아직 optical flow에 대한 포스팅은 없습니다만 기회가 되면 글을 올리려고 생각은 하고 있습니다. 하지만 그건 optical flow 자체에 대한 것으로 tracker와는 무관할 것입니다.

  • chochotrain 2015.03.23 22:37 신고 ADDR 수정/삭제 답글

    안녕하십니까 다크프로그래머님 항상 도움을 많이 받고있습니다.
    다크프로그래머님께서 만드신 gt_extractor2.1에 대해 몇 가지 질문이 있습니다.
    현재 진행하고있는 연구과제중에서 GT 에디터를 제작하여 사용하라는 오더가 내려왔습니다.
    공교롭게도 지금 저희랩에서 작업을 맡았습니다.
    그렇다고 해서 코드공개를 바라는것은 절대절대절대 아닙니다!!!!
    무리한 부탁이지만 간략하게 플로우정도는 알려주실수 있지않을까 생각이 들어 부탁을 드립니다....

    • BlogIcon 다크pgmr 2015.03.24 06:52 신고 수정/삭제

      무리한 부탁이시네요 ^^
      프로그램에 무슨 특별한 플로우라는게 있을리 없습니다. 사용자에게 어떤 기능과 UI를 제공할까에 대한 고민만 충분히 된다면 그 이후의 과정은 단순한 프로그래밍 과정이라 볼 수 있습니다.

    • 곰돌이만세^^ 2015.03.24 16:12 신고 수정/삭제

      알고리즘의 문제가 아니라 단순히 프로그래밍 스킬의 문제로 보입니다.
      조금만 노력하시면 할 수 있으실 겁니다.

    • BlogIcon 다크pgmr 2015.03.24 16:30 신고 수정/삭제

      /곰돌이만세^^
      제가 가끔 황당한 답변을 할 때 옆에서 잘 무마를 해주시네요.. 감사합니다 ^^
      chochotrain님, 곰돌님 말씀처럼 프로그래밍 스킬의 문제이니 조금 노력하시면 되리라 생각합니다.

  • ba 2015.04.03 14:23 신고 ADDR 수정/삭제 답글

    안녕하세요 항상 많은 것을 배워갑니다 고맙습니다.
    Ground Truth 프로그램에 대해 질문이 있습니다.

    제가 avi 파일을 Open Avi 했을 때 창은 뜨는데 화면이 계속 검정색으로 나오는데 이건 왜그런지 모르겠습니다..

    • BlogIcon 다크pgmr 2015.04.04 05:33 신고 수정/삭제

      아마도 코덱문제일 것 같습니다. 제공되는 압축파일에 같이 포함되어 있는 ffdshow를 한번 설치해 보시기 바랍니다.

  • 아도나일 2015.07.21 09:41 신고 ADDR 수정/삭제 답글

    안녕하세요^^ 다크님의 프로그램은 정말 유용하고 쉬운 인터페이스를 가지고 계셔서 너무 마음에 듭니다.ㅋ
    또 공부하다보니 궁금한점이 생기더군요.ㅋ
    ground truth프로그램에서 하나의 박스를 치면 다음 frame에서 자동으로 tracking 이 되는 것 같던데.. 사용한 알고리즘과 구현 방법을 알고 싶습니다. opencv 를 사용하신 것 같은데..
    어떤 알고리즘을 쓰셨는지요?^^
    항상 감사드리며 앞으로도 멋진 프로그램을 선물해 주시기 바랍니다^^
    저도 언젠가 보답할 날이 있기를 바라며..
    감사합니다.

    • BlogIcon 다크pgmr 2015.07.21 10:10 신고 수정/삭제

      안녕하세요. 프로그램이 마음에 드신다니 다행입니다 ^^
      내장된 추적기는 제가 개발한 것인데 공개된 기술이 아니라서 알고리즘 등은 공개가 어렵습니다.

  • 2016.01.07 16:47 ADDR 수정/삭제 답글

    비밀댓글입니다

  • 영상쟁이 2016.01.25 23:05 신고 ADDR 수정/삭제 답글

    안녕하세요, 올려주신 프로그램 유용하게 쓰고 있습니다. 그런데 사용중에 일종에 버그? 로 보이는 현상을 발견했는데요. 뭔가 하면, 비디오에서 복수에 오브젝트에 대해 그라운드 설정을 다 하고, txt로 저장한 후에 이를 나중에 다시 load하여 확인해 보면 bounding box개수가 맞지 않거나 약간 이상한 위치에 있더라구요. 맨 마지막 프레임에서 예를들어 오브젝트수가 4개로 끝났고, txt를 열어봐도 마지막에 4로 찍히는데 프로그램을통해열어보면 4개가 아니라 2로 찍히고 실제로도 이상한 곳으로 찍히는 현상이 있었습니다.

    • BlogIcon 다크pgmr 2016.01.29 15:03 신고 수정/삭제

      제가 해 봤을 때에는 그런 현상이 나타나지 않아서 문제의 원인은 잘 모르겠습니다. 프로그램에서 콤보박스를 통해 여러 가지 포맷의 gt 파일을 선택할 수 있도록 지원하고 있는데 혹시 저장한 포맷과 읽어들인 포맷이 다른 것은 아닌지 확인해 보시면 좋을 것 같습니다. 만일 그런 문제가 아니라면 어떤 gt 포맷을 사용했을 때 그런 현상이 나타나는지요? 그리고 그런 문제가 여러 동영상에서 항상 나타나는지요? 아니면 어쩌다 한번씩 나타나는 현상인지요?

  • 영상처리초짜 2016.05.03 21:42 신고 ADDR 수정/삭제 답글

    안녕하세요. 다크프로그래머님 영상처리대학원에 다니고 있는 학생입니다. 항상 관련기술을 검색하다보면 나와서 많은 도움을 받고 있어서 감사하게 생각하고 있습니다.
    지금 다크프로그래머님이 올려주신 프로그램을 해보았는데, 동영상이 아닌 이미지프레임으로 불러들이고, fname,x,y,w,h, 로 저장된 ground-truth 텍스트파일을 불러들이는데 자꾸 오류가 뜨는 현상이 나타나는데 혹시 알고 계신지요?

    • BlogIcon 다크pgmr 2016.05.04 07:30 신고 수정/삭제

      기본 테스트는 하고 올린 것인데.. 좀더 구체적으로 상황과 에러를 설명해 주시면 원인 파악에 도움이 될 것 같습니다. 혹시 fname,x,y,w,h 포맷으로 저장된 파일을 다른 포맷으로 읽어들인 것은 아닌지요?

    • BlogIcon 다크pgmr 2016.09.29 12:02 신고 수정/삭제

      늦게나마 말씀하신 버그를 발견하여 수정하였습니다. 그때 제대로 반영하지 못하여 불편을 드린 것 같아 죄송합니다.

  • 김공자 2016.09.28 17:59 신고 ADDR 수정/삭제 답글

    안녕하세요. 저도 영상처리초짜님과 같은현상을 겪고있습니다.
    이미지GT를 save하고 다시 Load GT를하면 runtime error이 발생합니다.

    • BlogIcon 다크pgmr 2016.09.29 11:59 신고 수정/삭제

      제보 감사합니다. 찾아보니 실행경로 설정과 관련된 버그가 있었습니다. 수정하여 다시 올렸습니다.

  • 나비 2016.10.11 22:22 신고 ADDR 수정/삭제 답글

    안녕하세요 다름이 아니라 http://darkpgmr.tistory.com/70 에서 positive image를 추출하려고 이프로그램을 실행시켰습니다. 메모장에
    1857,1
    618,578,264,176 다음과 같이 출력이 됩니다. 그런데 createSamples을 하려면 동영상파일이 아닌 이미지파일이 필요하지 않나요? 그러면 어떤식으로 해야하나요 ㅠㅠ
    아니면 제가 프로그램 만들어서 메모장에 있는 것을 파일 입력으로 받아서 영상에서 이미지를 추출해야 하나요?

    • BlogIcon 다크pgmr 2016.10.13 04:06 신고 수정/삭제

      네, 구현된 Cascade Training 프로그램은 동영상에서는 샘플을 생성할 수 없기 때문에 이미지를 사용해야 합니다. 동영상을 이미지로 바꾸어 주는 프로그램을 이용하시면 좋을 것 같습니다 (VirtualDub 등)

  • cv초심자 2017.07.27 20:21 신고 ADDR 수정/삭제 답글

    테스트를 해보니, 지원하는 영상 해상도 크기의 한계가 있는 것 같습니다만,
    혹시 지원하는 비디오 영상 해상도 크기 좀 늘려주실 수 있나요? HD급정도(1280 x 720)로만 해주셔도 감사하겠습니다만^^
    그리고 동영상에서 그린 바운딩 박스는 이미지로 저장을 하지 못하나요? 어떻게 저장을 하는지 궁금합니다.

    • BlogIcon 다크pgmr 2017.07.27 23:10 신고 수정/삭제

      딱히 영상 해상도에 제한은 없습니다. 만일 어떤 비디오 영상이 열리지 않는다면 그것은 비디오 코덱 문제일 것입니다 (영상 해상도와는 무관합니다). 그리고 바운딩 박스는 텍스트 파일로만 저장되며 Save GT로 저장하고 Load GT로 불러올 수 있습니다.

    • cv초심자 2017.07.28 09:39 신고 수정/삭제

      비디오 파일 확장자는 avi인데, 720x480의 SD급에서는 열리고, 1280x720의 HD급에서는 비디오 파일이 오픈된 후에 프로그램이 죽어버리는 버그(같은 현상)을 발견해서 문의 드렸습니다. 해당 비디오 파일은 코덱 문제가 아닐 수도 있다는 판단이 드는 건,제가 이미 OpenCV 비디오 플레이어를 만들어서 제 환경에서는 잘 사용을 하고 있기 때문입니다. 신경 써주셔서 감사합니다.^^

    • BlogIcon 다크pgmr 2017.07.28 11:22 신고 수정/삭제

      같이 포함되어 있는 opencv_ffmpeg320.dll이 실행파일과 같은 경로에 없으면 일부 동영상이 정상적으로 동작하지 않거나 프로그램이 죽을 수 있습니다. 만일 ffmpeg 파일이 같이 있는데도 그러한 에러가 났다면 원인은 저도 잘 모르겠습니다. 혹시 해상도 외에 추측되는 원인이 있다면 알려주시면 감사하겠습니다. 비디오 해상도는 아시겠지만 opencv에서 비디오 해상도가 크다고 해서 영상을 읽지 못하지는 않습니다.. HD, full HD, 2560 x 2048 비디오까지 테스트는 했는데 큰 문제는 없는것 같습니다.

    • cv초심자 2017.07.28 17:33 신고 수정/삭제

      원인을 발견하였습니다. 제 실수인데, 비디오 파일의 인코딩이 제대로 완료되지 않은 파일을 재생했네요. 다음 플레이어로 보니까 신기하게도 정상적으로 동작을 하길래, 정상 파일인지 알았습니다. 그런데 동일한 주기로 녹화된 다른 파일들과 용량을 비교해보니까, 해당파일의 용량이 훨씬 적더군요. 정상적으로 동작을 합니다. 착오를 드려서 죄송합니다.^^

    • BlogIcon 다크pgmr 2017.07.31 09:24 신고 수정/삭제

      문제가 해결되었다니 다행입니다 ^^

  • 주냄 2017.08.02 16:59 신고 ADDR 수정/삭제 답글

    안녕하세요. computer vision을 연구하고 있는 대학원생입니다.
    예전부터 다크pgmr님께서 CV에 쓰이는 많은 알고리즘이나 방법론들을 알기쉽게 설명하고 구현해 놓으셔서 공부하는데 많은 도움이 되었습니다.
    최근에 딥러닝으로 detection 및 tracking 연구함에 있어 위와 같은 DB 제작 프로그램이 필요하여 개인적으로 만들어 사용하고 있었는데, 이 프로그램은 정말 최고네요!! 만들어 주신 프로그램으로 열심히 연구하여 보도록 하겠습니다. 감사합니다!!

    • BlogIcon 다크pgmr 2017.08.03 15:08 신고 수정/삭제

      도움이 된다니 보람이 느껴집니다. 감사합니다.

  • 카킴 2017.08.07 16:08 신고 ADDR 수정/삭제 답글

    요즘 이 툴로 labeling 중입니다 너무 좋네요 다른 tool 사용하다가요!
    이 tool은 전체화면 안되나요?

    • BlogIcon 다크pgmr 2017.08.07 16:43 신고 수정/삭제

      창 크기조절도 되고 전체화면도 가능합니다. 하지만 전체화면으로 하면 좌측의 컨트롤 창에 영상 창이 일부 가려지게 됩니다. 사용해 보시고 불편한 사항이 이나 개선 의견이 있으면 댓글 남겨주세요.

  • lynx80 2017.08.07 17:31 신고 ADDR 수정/삭제 답글

    안녕하세요?
    avi 동영상을 해당 프로그램으로 불러와서 박스 설정을 완료하고 Save GT로 저장해서
    텍스트 파일을 저장하는 것 까지 완료했는데 박스 설정을 동영상에 덧씌우기 해서
    한번에 같이 보려면 어떻게 해야하나요? ^^;

    • BlogIcon 다크pgmr 2017.08.07 21:57 신고 수정/삭제

      그러려면 먼저 비디오 파일을 불어온 후 저장된 텍스트 파일을 Load GT로 불어오면 됩니다

  • 카킴 2017.08.08 09:02 신고 ADDR 수정/삭제 답글

    아 저는 이미지 때문에 그런데요! 전체화면으로 하면요 다음 사진으로 넘길때 이미지 사이즈가 원본으로 돌아가요 ㅜㅜ 비율 유지안된 상태로 커저선지 labeling 할때 눈이 아프네요 ㅋㅋ

    • BlogIcon 다크pgmr 2017.08.08 10:23 신고 수정/삭제

      네, 어떤 문제인지 이해했습니다. 원래 구현하기를, 이미지 사이를 이동할 때 이미지 원본의 크기에 변화가 없으면 과거의 창의 크기를 유지하고, 이미지 크기에 변화가 발생하면 새로 불러오는 이미지의 크기에 맞게 (1x) 창의 크기를 조절하도록 구현되어 있습니다. 이미지 크기가 제각각이면서 전체화면으로 작업하는 경우는 고려를 못했었는데요, 원하시는 기능은 이미지의 가로, 세로 비율이 유지되면서 화면 최대 크기로 자동 표출되는 것으로 이해했습니다. 좋은 의견 감사드리며 다음 버전업에 반영토록 노력해 보겠습니다.

    • 카킴 2017.08.08 12:53 신고 수정/삭제

      ㅎㅎ 메카니즘이 그렇게 되는거였네요! 간혹가다 사이즈가 같으면 그대로 출력될때도 있어서 여러시도해보고있었는데 미구현된 기능이었네요 :) 툴 잘쓰고있습니다 감사합니다

  • 초보자 2017.08.08 13:42 신고 ADDR 수정/삭제 답글

    안녕하세요, 처음 연구를 시작했던 때부터 본 블로그에서 많은 정보를 접했던 사람입니다. 먼저 감사의 말씀 드립니다.

    현재 딥러닝 detection을 위한 dataset을 준비 중에 있는데, 마침 DB 구축 프로그램을 개발해주셔서 사용해보려고 합니다.
    혹시 이 프로그램을 통해 구축한 labeling 결과를 바로 VOC 형태로 저장하고 VOC 형태 기반 소스코드(예시: tensorflow 기반 faster-rcnn)에 input이 가능할까요?

    항상 감사드립니다.

    • BlogIcon 다크pgmr 2017.08.08 16:41 신고 수정/삭제

      네, 그런 기능이 있으면 유용하겠네요. 다음 버전에 고려해 보겠습니다. 그런데, VOC나 ImageNet 포맷으로 저장하려면 이미지 하나마다 xml 파일을 하나씩 만들어야 하네요.. 냠냠..

    • 초보자 2017.08.14 09:49 신고 수정/삭제

      그렇군요! 답변 감사 드립니다.
      좋은 하루 되세요~

  • whiteforest 2017.08.09 09:41 신고 ADDR 수정/삭제 답글

    안녕하세요. labeling을 완료하고 Save GT까지 했습니다.
    녹화프로그램을 사용하지 않고 동영상에 씌워서, 동영상을 재생했을때 label 프레임이 같이 나오게 하는 방법은 없을까요?

    좋은 프로그램 감사합니다.

    • BlogIcon 다크pgmr 2017.08.09 13:40 신고 수정/삭제

      구현은 가능합니다만 실제 그러한 기능을 추가할지는 조금 고민해 봐야 할 것 같습니다. 기능이 많다고 좋은건 아니라서요.. 혹시 어떤 경우에 그런 기능이 필요할까요?

  • ㅁㄴㅇ 2017.08.09 15:08 신고 ADDR 수정/삭제 답글

    http://carlvondrick.com/vatic/
    이게 생각나는 프로그램이네요.

    • BlogIcon 다크pgmr 2017.08.09 16:29 신고 수정/삭제

      네, 잘 만들어진 프로그램이네요. 특히 interpolation 기능이 인상적입니다. 저는 tracking 기능을 사용했는데 아무래도 tracking은 성능적 한계가 있을 수 있으니 상황에 따라서는 interpolation 기능이 좀더 유용할 것 같다는 생각이 듭니다. 그리고, object별로 자동으로 id를 부여하고 색상도 다르게 표현한 것도 좋은 것 같습니다. 다음에 버전업을 할 때에 이런 좋은 특징들도 고려해 봐야겠습니다. 그런데, 원래 개인적으로 사용할 목적으로 만든 프로그램을 공개한 것이라서 또 언제 마음이 동할지는 모르겠습니다.. ^^

  • 즐겨라! 2017.08.22 14:04 신고 ADDR 수정/삭제 답글

    안녕하세요 다크님!

    좋은 툴 공개 해 주셔서 감사합니다

    마침 필요할 시점이와서 어떻게 만들어 볼까 생각 하던차에 새로운 포스팅이 떠서 보니 마침 제가

    딱 필요한 프로그램을 만들어 주시다니 ㅜㅜ

    감사합니다~!

    • BlogIcon 다크pgmr 2017.08.22 14:07 신고 수정/삭제

      네, 도움이 된다니 다행입니다 ^^. 사용해 보시다 혹 불편한 점이 있으면 알려주세요.

  • 필명1 2017.09.05 20:51 신고 ADDR 수정/삭제 답글

    이미지 bounding box처리한 이미지를 그대로 저장하는 기능은 없을까요?

    • BlogIcon 다크pgmr 2017.09.06 00:12 신고 수정/삭제

      네, 가능합니다. 간단한 기능이니 시간 되는데로 추가해서 올려놓겠습니다.

  • 2017.09.20 16:04 ADDR 수정/삭제 답글

    비밀댓글입니다