An intermediate image generation method for generating an intermediate image (I α) which is an image in the middle of changing from one to the other of two pseudo three-dimensional images (I A, I B) generated by ray casting a three-dimensional image from an arbitrary viewpoint under two different setting conditions for an opacity level to be allocated according to a pixel value, the method comprising the steps of: determining an opacity level setting condition by determining an opacity level to be allocated according to each pixel value such that a variation in the opacity level for a change in a changing phase of the intermediate image (I α) becomes smaller as the changing phase approaches closer to a pseudo three-dimensional image generated under either one of the two different opacity level setting conditions in which a smaller value is allocated as the opacity level to be allocated according to each pixel value; and generating the intermediate image (I α) by ray casting the three-dimensional image from an arbitrary viewpoint under the determined opacity level setting condition, characterized in that the determination of the opacity level is made by Formula below: F α g = 1.0 − t α ⋅ F A g + t α ⋅ F B g where, g is a pixel value, F A (g) is a function representing the opacity level setting condition applied to the generation of the pseudo three-dimensional image (I A) at the start of the changing phase, F B (g) is a function representing the opacity level setting condition applied to the generation of the pseudo three-dimensional image (I B) at the end of the changing phase, α (0<α<1) represents the changing phase, t(α) is a monotonically increasing function, in which t(α)<u(α) when F A (g)≤F B (g), while t(α)>u(α) when F A (g)>F B (g), u(α) = α, and F α (g) is a function representing the opacity level setting condition applied to the generation of the intermediate image (I α). determining an opacity level setting condition by determining an opacity level to be allocated according to each pixel value such that a variation in the opacity level for a change in a changing phase of the intermediate image (I α) becomes smaller as the changing phase approaches closer to a pseudo three-dimensional image generated under either one of the two different opacity level setting conditions in which a smaller value is allocated as the opacity level to be allocated according to each pixel value; and generating the intermediate image (I α) by ray casting the three-dimensional image from an arbitrary viewpoint under the determined opacity level setting condition, characterized in that the determination of the opacity level is made by Formula below: F α g = 1.0 − t α ⋅ F A g + t α ⋅ F B g where, g is a pixel value, F A (g) is a function representing the opacity level setting condition applied to the generation of the pseudo three-dimensional image (I A) at the start of the changing phase, F B (g) is a function representing the opacity level setting condition applied to the generation of the pseudo three-dimensional image (I B) at the end of the changing phase, α (0<α<1) represents the changing phase, t(α) is a monotonically increasing function, in which t(α)<u(α) when F A (g)≤F B (g), while t(α)>u(α) when F A (g)>F B (g), u(α) = α, and F α (g) is a function representing the opacity level setting condition applied to the generation of the intermediate image (I α).