It's not so much that software does what the lenses do, it's that software would configure the hardware to perform the same transfer function on the incoming photons. It's more a reconfiguration of the input than a processing of the output.
On edit: I should also point out that you don't get to escape fundamental optical limits with this stuff. You're still diffraction limited, so "lens" size still matters.
On edit: I should also point out that you don't get to escape fundamental optical limits with this stuff. You're still diffraction limited, so "lens" size still matters.