일반적으로 프로그램을 이용해서 물체의 움직임을 추적하려면 다소 긴 코딩이 필요하다
(특히, Matlab의 경우)
Mathematica는 자체적으로 물체의 움직임을 Tracking할 수 있는 기본 기능의 명령어를 제공한다.
ImageFeatureTrack이라는 명령어이다.
아래는 내가 이 명령어를 실제로 사용할 수 있게 간단하게 코드를 짜본 것이다.
Matlab으로 Tracking코드를 짜본 사람은 아래의 코드가
얼마나 간단한지를 이해할 수 있을 것이다.
('여기'라고 표시한 부분만 입력하여 사용할 수 있다.)FolderName =
"폴더명\\"
;
(* 여기 *)
data =
Import
[FileNameJoin[{FolderName,
"*.확장자"
}]];
(* 여기 *)
xy = ImageFeatureTrack[data, {{초기 x좌표, 초기 y좌표}}];
(* 여기 *)
Export
[FolderName <>
"x.txt"
, xy[[
All
, 1, 1]]];
Export
[FolderName <>
"y.txt"
, xy[[
All
, 1, 2]]];
MapThread
[HighlightImage, {data, xy}];
밑에 또다른 cell에 위치한 MapThread라는 명령어는 내가 Tracking한 결과를 보기위한 명령어이다.
그리고 Export명령어는 내가 이미지가 있던 폴더에 각각 x와 y좌표를 txt파일로 생성시켜준다.
예를 들어, C:\Test라는 폴더에 확장자가 tif인 이미지들을 넣어두고
Tracking하고자하는 위치의 x, y픽셀을 아래와 같이 넣어주고
MapThread로 확인해주면 아래와 같이 Tracking이 잘 되었다는 것을 빨간색 점으로 알려준다.
내가 Tracking한 건 원의 윗 부분임을 알 수 있다.
'Software > Mathematica' 카테고리의 다른 글
[Mathematica] 적분하는 방법 정리 (0) | 2014.10.13 |
---|---|
[Mathematica] 미분하는 방법 정리 (1) | 2014.10.12 |
Mathematica의 매력 (0) | 2014.09.11 |
[Mathematica] 식 예쁘게 정리하기 (Refine, Simplify, $Assumptions) (0) | 2014.09.02 |
[Mathematica] 적분인자(Integrating factor)를 구하는 코드 (0) | 2014.08.31 |