- This topic has 6개 답변, 3명 참여, and was last updated 10 years, 12 months 전에 by dari.
-
글쓴이글
-
-
hm_park회원
안녕하세요. 바뀐이후로 처음 글을 써보네요.
2차원 이미지가 있습니다.
특정한 중심점을 기준으로 반경이 주어지고, 그 반경값과 각도를 사용해서
원 외곽의 x, y 좌표값을 얻었습니다(cosine, sine을 사용해서).
문제는 그렇게 얻어진 원 내부의 배열에 대한 주소값들을 얻고 싶은데 얻을 수 있는 방법이 없네요.
where 나 xroi 혹은 xdefroi 등을 사용해서 얻는것과 같이 원 내부에서의 array의 주소값들을 알고 싶은데 방법이 없을까요?
이미지를 올리면 더 쉽게 보여드릴수 있을텐데, url을 사용하는 방법 외에 이미지 첨부 기능이 없네요 ㅠㅠ
방법이 생각나지 않아서 문의드립니다.
그럼 답변 부탁드려요
-
Sangwoo회원
IDL의 기본 라이브러리에는 이런 역할을 하는 함수는 없지만, 대신 Coyote 라이브러리에 있는 INSIDE라는 함수를 사용하시면 될 것 같습니다. 이 라이브러리는 아래 링크에서 다운로드받아서 설치하면 됩니다.
-
hm_park회원
그렇군요 답변 감사합니다 ^^;
-
Sangwoo회원
제가 정확히 이해한 것인지는 모르겠지만, 이미지를 구성하는 모든 픽셀들에 대하여 반복문의 형태로 INSIDE 함수를 적용해서 그게 1이냐 0이냐를 판단하고 1인 경우의 좌표들만 따로 모으는 방식으로 작업을 하면 되지 않을까 생각은 듭니다.
-
dari회원
x0 = 100.7
y0 = 125.1
r0 = 25.0
im = fltarr(200,300)nx = (size(im, /dim))[0]
ny = (size(im, /dim))[1]xx = findgen(nx) # (findgen(ny)*0+1)
yy = (findgen(nx)*0+1) # findgen(ny)
rr = sqrt((xx-x0)^2 + (yy-y0)^2)help, im, xx, yy, rr
within = where(rr le r0)
im[within] = 1.0window, xsize=nx, ysize=ny
tvscl, im
-
-
글쓴이글