SMALL

전체 글 767

이미지(Image)에 대한 광원 효과 적용 [2]

지난 회차 게시물에서는 2차원 데이터를 이미지의 형태로 표출하면서 화소값의 높낮이에 따른 명암 및 그림자 효과를 구현하기 위하여 IDL의 OG(Object Graphics) 체계 기반으로 2차원 데이터를 서피스(Surface) 객체로 구현하고 여기에 광원(Light Source) 객체를 추가하여 이용하는 예제를 살펴본 바 있습니다. 일단 지난 회차에서 작업했던 내용을 그대로 가져와서 계속 작업을 이어나가기로 하겠습니다. 그 내용은 다음과 같습니다. dd = 0.02x = [-5:5:dd]#MAKE_ARRAY(10/dd+1, VALUE=1)y = [-5:5:dd]##MAKE_ARRAY(10/dd+1, VALUE=1)z = 5*((x^2+y^2)^0.3+SIN((x^2+y^2)*0.5))HELP, zPRIN..

IDL/Object Graphics 2026.02.05

이미지(Image)에 대한 광원 효과 적용 [1]

2차원 데이터를 이미지(Image)의 형태로 표출하면서 광원(Light Source)을 추가적으로 사용하여 명암 및 그림자 효과를 연출하는 것이 필요할 경우가 있습니다. 예를 들면 고도(Elevation) 값들로 구성된 지형 데이터를 이미지로 표출한 다음 태양의 위치에 따른 그림자의 변화를 보고 싶은 경우를 가정해볼 수 있습니다. 이러한 방식의 연출이 IDL에서 가능할까요? 물론 가능합니다. 다만 이를 위해서는 2차원 데이터를 이미지(Image) 대신 서피스(Surface)의 형태로 표출해야 합니다. 그런 다음에는 광원(Light Source)을 별도로 추가하여 그 위치에 따라 그림자가 형성되도록 해야 합니다. 서피스(Surface)는 X, Y, Z 성분이 모두 존재하는 3차원적인 표출 방식이므로 광원의..

IDL/Object Graphics 2026.01.28

감마 보정 (Gamma Correction) [2]

지난 회차 게시물에서는 IDL에서 이미지 데이터에 대하여 감마 보정(Gamma Correction) 기법을 적용하는 방법과 예제를 소개한 바 있습니다. 오늘은 앞서 소개되었던 방법을 그대로 응용하여 감마 보정 기법을 다른 예제 이미지 데이터에 적용해보기로 하겠습니다. 예제로 사용할 이미지 파일은 다음과 같습니다. 이 파일로부터 이미지 데이터를 읽고 감마 보정을 해보기로 합니다. 일단 이미지 데이터를 읽는 작업부터 다음과 같이 시작합니다. READ_JPEG, 'my_photo1.jpg', data, /GRAYSCALEHELP, data 사실 원본 이미지는 컬러이긴 하지만 여기서는 처리 작업의 편의를 위하여 READ_JPEG 명령을 GRAYSCALE 키워드와 함께 사용하여 RGB가 아닌 단색광 이미지 데이..

감마 보정(Gamma Correction) [1]

감마 보정(Gamma Correction)은 이미지 처리 분야에서 널리 사용되고 있는 기법으로서 비선형적인 전달 함수(Nonlinear Transfer Function)를 사용하여 신호의 강도를 변형시키는 작업을 의미합니다. 이 기법에서 사용되는 비선형 전달 함수의 형태는 다음과 같습니다. 이 식에서 지수 형태로 들어가는 gamma 값이 가장 핵심적인 역할을 합니다. f(x) = gain*x^gamma+offset 물론 IDL에서도 이러한 기법을 사용하는 것이 가능합니다. 어떻게 보면 여기서 예전에 소개되었던 클리핑(Clipping) 기법 또는 히스토그램 균일화(Histogram Equalization) 기법과 유사한 맥락일 수도 있지만, 감마 보정 기법의 경우는 전달 함수의 형태를 다양하게 변형시켜서 ..

막대 차트(Bar Chart) 표출하기

막대 차트(Bar Chart)는 막대 모양의 그래프를 표출하면서 막대 내에서 값에 따라 마디마디가 구분되어 보이도록 하는 표출 방식을 의미합니다. 이해를 돕기 위하여 예제 그림만 먼저 본다면 다음과 같습니다. 이 그림에서는 어떤 설문 조사를 6개의 집단들을 대상으로 실시하고 각 카테고리별 응답 비율을 막대 차트의 형태로 표시하고 있습니다. 오늘은 이러한 막대 차트(Bar Chart) 그림을 IDL에서 표출하는 방법을 소개해보고자 합니다. 위의 그림은 당연히 IDL로 표출한 것이며 그 과정을 지금부터 살펴보겠습니다. 먼저 예제 데이터부터 정의해봅시다. 그 과정은 다음과 같습니다. cats = ['very bad', 'bad', 'not bad', 'good', 'very good'] colors = ['..

IDL/New Graphics 2025.12.09

BOXPLOT 함수 소개

오늘은 NG 체계에서 지원되는 그래픽 함수들 중에서 BOXPLOT 함수에 관하여 소개해보기로 하겠습니다. BOXPLOT 함수는 NG 체계의 그래픽 함수들 중에서도 비교적 나중에 도입된 경우에 속하며 IDL 8.2.2 버전에서부터 지원되기 시작하였습니다. IDL에서 이 함수에 대한 설명을 보면 box and whisker plot(상자 수염 그림) 형태의 표출 기능이라고 언급되어 있습니다. 이것은 통계 분야에서 흔히 사용되는 표출 형태로서 최소값(Minimum), 1사분위값(25% Quartile), 2사분위값(50% Quartile or Median), 3사분위값(75% Quartile), 최대값(Maximum) 등의 5종의 통계값들을 박스 및 에러바(box and error bar)의 형태로 나타내는 ..

IDL/New Graphics 2025.12.03
728x90