An image processing apparatus comprising: a displacement vector generator configured to detect a reference voxel of reference volume data (V ref) and a corresponding target voxel of target volume data (V tgt) that have been acquired at intervals of a predetermined time, and to generate a displacement vector ( d) between the detected reference voxel and target voxel; and an intermediate volume data generator configured to generate at least one intermediate volume data with respect to the reference volume data (V ref) and the target volume data (V tgt) by using the generated displacement vector ( d), wherein the displacement vector generator is further configured to detect the target voxel of the target volume data (V tgt) by using voxel values of a plurality of contiguous voxels contained in the reference volume data (V ref), wherein the displacement vector generator is further configured to calculate a cost value by using measurement of similarity between a voxel of the reference volume data (V ref) and a voxel of the target volume data (Vgt), so as to detect the target voxel of the target volume data (V tgt), and the displacement vector generator is further configured to calculate a plurality of message values propagated between a plurality of contiguous voxels contained in the reference volume data (V ref) by using the calculated cost value; the apparatus characterized in that the displacement vector generator is further configured to calculate a gradient value that relates to the contiguous voxels contained in the reference volume data (V ref), and to determine a weight to be applied to at least one of the calculated plurality of message values based on the calculated gradient value, wherein different weights are applied to the message value according to the calculated gradient value with respect to contiguous voxels contained in the reference volume data (V ref). a displacement vector generator configured to detect a reference voxel of reference volume data (V ref) and a corresponding target voxel of target volume data (V tgt) that have been acquired at intervals of a predetermined time, and to generate a displacement vector ( d) between the detected reference voxel and target voxel; and an intermediate volume data generator configured to generate at least one intermediate volume data with respect to the reference volume data (V ref) and the target volume data (V tgt) by using the generated displacement vector ( d), wherein the displacement vector generator is further configured to detect the target voxel of the target volume data (V tgt) by using voxel values of a plurality of contiguous voxels contained in the reference volume data (V ref), wherein the displacement vector generator is further configured to calculate a cost value by using measurement of similarity between a voxel of the reference volume data (V ref) and a voxel of the target volume data (Vgt), so as to detect the target voxel of the target volume data (V tgt), and the displacement vector generator is further configured to calculate a plurality of message values propagated between a plurality of contiguous voxels contained in the reference volume data (V ref) by using the calculated cost value; the apparatus characterized in that the displacement vector generator is further configured to calculate a gradient value that relates to the contiguous voxels contained in the reference volume data (V ref), and to determine a weight to be applied to at least one of the calculated plurality of message values based on the calculated gradient value, wherein different weights are applied to the message value according to the calculated gradient value with respect to contiguous voxels contained in the reference volume data (V ref).