Wolfram 언어

사용자 인터페이스의 확장

3D 이미지 강화

기본적으로, 3D 이미지는 조명에 반응하지 않습니다. 색상값은 지정 색상 함수에 의해 순수하게 결정됩니다.

전체 Wolfram 언어 입력 표시하기
In[1]:=
Click for copyable input
func = Blend[{{0, RGBColor[0.035, 0.058, 0, 0]}, {0.1, RGBColor[0.015, 0, 0.035, 0]}, {0.2, RGBColor[0, 0, 0, 0.032]}, {0.3, RGBColor[0.103, 0.032, 0, 0]}, {0.4, RGBColor[0, 0, 0, 0]}, {0.5, RGBColor[0.202, 0.203, 0.218, 0.337]}, {0.6, RGBColor[0.403, 0.405, 0.400, 0.457]}, {0.7, RGBColor[0.485, 0.474, 0.603, 0.682]}, {0.8, RGBColor[0.861, 0.836, 0.838, 0.794]}, {0.9, RGBColor[0.459, 0.475, 0.458, 0.842]}, {1, RGBColor[0.562, 0.519, 0.554, 0.962]}}, #] &; options = {BoxRatios -> {1, 1, 1}, ViewVertical -> {0, -0.5, -1}, ViewPoint -> {Left, Front}, ColorFunction -> func, Boxed -> False};
In[2]:=
Click for copyable input
data = Import["ExampleData/CThead.tiff", "Data"];
In[3]:=
Click for copyable input
img3d = Image3D[data, "Byte", options, ImageSize -> 400]
Out[3]=

입체 조명을 켜면 곡면의 디테일 하이라이트에 도움이됩니다. 이 경우, 화면의 평면을 향한 지향성 조명이 추가되고, 경면성이 이미지 객체에 추가됩니다.

In[4]:=
Click for copyable input
ImageCrop[ Show[Graphics3D[Specularity[Orange, 3], Background -> Black], Image3D[img3d, Method -> {"VolumeLighting" -> True}], options, Lighting -> {{"Directional", White, ImageScaled[{0, 0, 2}]}}, ImageSize -> 700], {410, 410}]
Out[4]=

값을 보간함으로써 화질이 좋지 않은 거친 이미지를 한결 향상 시킬 수 있습니다.

In[5]:=
Click for copyable input
fine = ImageCrop[ Show[Graphics3D[Specularity[Orange, 3], Background -> Black], Image3D[img3d, Method -> {"VolumeLighting" -> True, "InterpolateValues" -> True}], options, Lighting -> {{"Directional", White, ImageScaled[{0, 0, 2}]}}, ImageSize -> 700], {410, 410}]
Out[5]=

아래 그림에서 보간 및 하이라이트 된 이미지의 변화를 시각화합니다.

전체 Wolfram 언어 입력 표시하기
In[6]:=
Click for copyable input
original = ImageCrop[ Show[img3d, options, Background -> Black, ImageSize -> 700], {410, 410}];
In[7]:=
Click for copyable input
Animate[Overlay[{original, SetAlphaChannel[fine, i]}], {i, 0, 1}, AnimationRate -> 1/3, AnimationDirection -> ForwardBackward]
동영상 작동
동영상 정지

관련 예제

de en es fr ja pt-br ru zh