Start with a block diagram with the capabilities. Start with taking a photo of the target. For example:
sudo apt-get install fswebcam
If successful then you can consider writing a routine in C to pull images for image processing from OpenCV.
I have yet to see free barcode reader source code: if you find this Unicorn, be sure to post a link to it for others.
Unless this is a pedagogical exercise, building this a barcode scanner from a camera is a lot of work when you can simply buy a USB scanner for $20. The capture and decode functionality is baked into the USB scanner. You can either use existing Python evdev to read the characters or 'roll your own' in C. Python was fast and the route that others have successfully and quickly navigated