작성일:
 
2010. 5. 28. 16:47
 

컬러 연상을 읽고, 색 분해, 이미지 해석


M35 (NGC 2168)
젊은 산개성단
B, V, I 측광자료로부터 컬러 합성



붉은 천체 -> 구상성단? or 다른 천체?




PIXEL_TYPE: 픽셀값 변수형

1=Byte
2=Integer
3=Longword Integer

 

디스플레이

흑백영상: 2차원 배열
컬러영상: 3차원 배열

이미지 디스플레이
컬러 저장할때는 true color 사용 (24bit)
RGB 인덱스가 어디있는지를 파악한 후 true keyword를 써주어야한다

[3, 900, 900] : true=1 / [900, 900, 3]:  true=3 / [900, 3, 900]:  true=2
device, decomposed=1
tv, array_name

R,G,B 분리

변수의 순서에 따라 R,G,B 순서로 배열 저장되어있음

R= array_name[0, *, *]
G= array_name[1, *, *]
B= array_name[2, *, *]

실습

S=dialog_read_image(image=myimg)

help, myimg
window, 1, xs=900, ys=900
tv, myimg, true=1


300x300 크기 줄임

mysmallimg=rebin(myimg, 3, 300, 300)
tv, mysmallimg, true=1,0

붉은색만 보기

my_red=mysmallimg(0, *, *)
(R값만 읽음, *, *)



실제예제

pro ngc_edit


S=dialog_read_image(image=myimg)
window, xs=900, ys=900
;tv, myimg, true=1
; tv, 변수, true값에 따른 변수 위치, 0 윈도우 값

my_smallimg=rebin(myimg, 3, 450, 450)
device, decomposed=1
my_red=reform(my_smallimg[0,*,*])
my_green=reform(my_smallimg[1,*,*])
my_blue=reform(my_smallimg[2,*,*])
; reform = 2차원 배열

tv, my_smallimg,true=1,0
tv, my_red, 1
tv, my_green, 2
tv, my_red, 3

end





pro ngc_edit

S=dialog_read_image(image=myimg)
window, xs=900, ys=900
;tv, myimg, true=1
; tv, 변수, true값에 따른 변수 위치, 0 윈도우 값

my_smallimg=rebin(myimg, 3, 450, 450)
;device, decomposed=1
;my_red=reform(my_smallimg[0,*,*])
;my_green=reform(my_smallimg[1,*,*])
;my_blue=reform(my_smallimg[2,*,*])

tv, my_smallimg,true=1,0
;tv, my_red, 1
;tv, my_green, 2
;tv, my_red, 3

r_img=my_smallimg
g_img=my_smallimg
b_img=my_smallimg
r_img[1:2, *,*]=0
g_img[*,*,*]=bytarr(3,450,450)
g_img[1,*,*]=my_smallimg[1,*,*]
b_img[0:1,*,*]=0
tv,r_img,true=1,1
tv,g_img,true=1,2
tv,b_img,true=1,3

end