If you were in a vacuum, that could be a wonderfully efficient way of converting mechanical movement into kinetic energy. We have to deal with atmospheric friction, though, and the places where the cannon would launch from (the surface) has the thickest part of the atmosphere, so the most friction.
That's why some people have thought about sending a fuel factory to the Moon, refining the fuel there, and using mass drivers to send it to Earth orbit for serious interplanetary missions.
What happens when you leave the cannon? Either the cannon exit is near ground level, in which case you still have the air resistance problems; or it's not, in which case you have the problems of building very a tall cannon.
you don't have to exit the cannon at high speed, the v^2 drag will kill you. You're just trying to put some kinetic energy in the rocket in a way that doesn't make you carry it. you don't have to put all the energy in it that way, the current system works, it's just a tentative improvement.
But your answer makes me feel you've not seen the ping pong ball cannons, because they have very good results with a very low mass.