That’s actually a non-distorted image, we’re used to lens distortion, either from a camera lens or from our own eyeballs. Note this undistorted image:
And how the paintings next to the image boundaies are stretched. As @yuma_taesu says, you can change Fov to hide this.
You could also go nuts and implement distortion, as they do with VR headsets to make it look more natural. That’s usually overkill for most applications. Here’s a nice resource on that direction, they even have a live demo
I sometimes use cam.enableOrtho() to experiment with orthographic projections – you loose all scaling based on z but I find it’s really useful for removing that kind of stretching and it often times helps.