In this work, we calculate contact angles in X-ray tomography images of two-phase flow in order to investigate the wettability. Triangulated surfaces, generated using the images, are smoothed to calculate the contact angles. As expected, the angles have a spread rather than being a constant value. We attempt to shed light on sources of the spread by addressing the overlooked mesh corrections prior to smoothing, poorly resolved image features, cluster-based analysis, and local variations of contact angles. We verify the smoothing algorithm by analytical examples with known contact angle and curvature. According to the analytical cases, point-wise and average contact angles, average mean curvature and surface area converge to the analytical values with increased voxel grid resolution. Analytical examples show that these parameters can reliably be calculated for fluid–fluid surfaces composed of roughly 3000 vertices or more equivalent to 1000 pixel2. In an experimental image, by looking into individual interfaces and clusters, we show that contact angles are underestimated for wetting fluid clusters where the fluid–fluid surface is resolved with less than roughly 500 vertices. However, for the fluid–fluid surfaces with at least a few thousand vertices, the mean and standard deviation of angles converge to similar values. Further investigation of local variations of angles along three-phase lines for large clusters revealed that a source of angle variations is anomalies in the solid surface. However, in the places least influenced by such noise, we observed that angles tend to be larger when the line is convex and smaller when the line is concave. We believe this pattern may indicate the significance of line energy in the free energy of the two-phase flow systems.