In the present embodiment, the shading correction values for the binocular lens unit 300 having two optical axes are stored in advance in, for example, the non-volatile memory 220 of the camera 100, similar to the shading correction values for the lens unit 200 having one optical axis. The system control unit 218 selects the correction value to be used for shading correction according to the number of optical axes of the lens unit that is mounted. The shading correction value may be calculated in advance for each lens unit model and stored in the non-volatile memory 220 in association with the lens unit identification information. The formula for calculating the correction value according to the number of optical axes may be stored in the non-volatile memory 220, and the shading correction value may be calculated by obtaining information for calculating the shading correction value (e.g., from the mounted lens unit) and applied to the calculation formula.
When calculating the shading correction value, the number of optical axes and the position on the image sensor through which the optical axes pass (called the “optical axis position” hereinafter) are used. In one embodiment, optical information having the optical axis center as the origin is treated as the origin of the optical axis position. Therefore, for a lens unit whose optical axis does not pass through the center of the image sensor, such as the binocular lens unit 300 having a plurality of optical axes, the optical axis position is important when calculating the shading correction value.