Barcorama - barcode reader software [Updated 11/Oct/09]

Search This thread

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
Hey everybody!

I'm creating this thread to keep the Barcorama related discussion in a dedicated thread. The discussion spawned here.

Barcorama is a Zxing-based (http://code.google.com/p/zxing/) barcode reader software developed by me in C#. The program's main purpose is to provide a free (and hopefully powerful) tool in the consumer's toolchain!

Feel free to try out and comment on it.

The tool is being developed on my Kaiser, so any feedback on how it performs on other devices is welcomed!

Basic Usage (not yet updated for v0.9x:

a. Press the "Shoot" button to launch the phones camera wizard and take a photo of the barcode by pressing the front "OK" button, or the normal side-shoot button. Barcorama will return automatically upon capture and try to recognize the code.

b. Press the "Open" button to launch the file dialog and navigate/select a previously taken photo. Again, after loading the photo, recognition starts.

After a successful recognition, a popup message may ask whether to run the specified external program with the recognized code. The program along with its arguments is specified in the settings. The code will be inserted wherever the !###! string is be found (may be multiple times).

In general, my tests show that the autofocus camera feature seems to achieve a good result when holding the phone more then 5cm away from the target.

Source code is available here: https://sourceforge.net/projects/barcorama/
or download the trunk snapshot here: http://barcorama.svn.sourceforge.net/viewvc/barcorama/trunk.tar.gz?view=tar

Features:

-- Recognizes 1D and 2D barcodes. See the google page for details. Version 0.3 is currently incorporated.

-- Runs an external program to pass the recognized code

Requirements:

- NETCF v2.0

ChangeLog:

v0.9h
-- ability for "continuous operation". After successful recognition, continues scanning/shooting/etc...
-- option to beep after successful recognition. Useful in "continuous operation"

v0.9g (for Testing!):
-- Costpad fixes regarding same name shops
-- QR recognition working (thanx to mao xuchu!). Mind though that proper result handling is not present.
-- BUGFIX: many settings were not holding on their value

v0.9f (for Testing!):
-- Memory optimization. Thanx user jeutaw for reporting the bug!

v0.9e (for Testing!):
-- BUGFIX: fixed exception at the end of the purchase submit procedure

v0.9d (for Testing!):
-- Warning: a bug has already been identified regarding the ability to submit purchases to costpad.com. Perhaps you want to wait a few hours until I get home and fix it :) <-- FIXED in v0.9e
-- Manual entry of the barcode (useful when scan/shoot/open methods fail)
-- More finger-oriented purchase date entry method
-- Able to register a new shop through Barcorama
-- Smoother button fading
-- Various fixes

v0.9c (for Testing!):
-- GUI fixes (should now cope better with high-res devices)

v0.9b (for Testing!):
-- not connecting to the Internet at startup

v0.9a (for Testing!):
-- Preliminary Costpad.com integration

v0.8a:
-- Reintroduced the "Live" mode (thanks to WiMo project), where continuous capturing is performed (low resolution only, thanks to HTC... :( )
-- Experimental Autofocus tweak! Manually triggering the autofocus capability so to make the "Live" mode usable. Warning: not all devices/roms will be compatible!

v0.7a:
-- Better File open method
-- Minor interface changes

v0.6:
-- Elastic GUI layout. Supporting landscape mode and greater resolutions.

v0.5c:
- Bugfix: Normal handling of spaces in external program's path and arguments
- Added a program icon (thanx nibblah)

v0.5b:
- Bugfix: proper saving/loading of external program settings.

v0.5
- Can now run an external program passing the recognized barcode.

v0.4d
- Small fix for QR decoding

v0.4c
- Upgraded ZXing to 0.4.5 for 1D barcodes (only)

v0.4b
- Fixed a nasty bug that disabled EAN and UPC codes!

v0.4
- Able to individually select what barcode types to try
- Option for selecting whether automatic return from the Camera application is desired. When not selected, the user has to manually exit the Camera application, beign able this way to recapture before decode
- Added a clickable link in the About page to easily reach this forum :)
- Black appearance

v0.3b
- Incorporated a ZXing bugfix regarding code-39 decoding
- Added a popup question to copy a recognized code into the clipboard

v0.3
- Tweaked usage of the .net camera API. Using a file based method to detect when the capture was performed.
- Automatically returning back to the application after the user shoots the photo. No second "OK" is needed.
- Better UI behavior by using background thread for camera capture and image decoding
- Various bugfixes


Known Issues:

-- False recognitions (encountered some EAN13 faults)
-- 3megapixel photos cannot be loaded
-- After shooting, image appears 90-degrees counter-clockwise rotated. Recognition works though.

Have fun!
hypest

P.S Please, if you encounter a bug/problem, report it and add your hardware/software configuration, or fill your signature with such info. Reporting of successful trials is also welcomed :)

Removed: The "speedy" version was removed as it was not functioning on par with the "normal" version...

Added a cab file that includes the .exe and creates a Start Menu shortcut. The shortcut seems to be missing the proper icon and perhaps it won't work in Non-English installations. Removed the ..v07a.zip as the cab seems stable.

Removed: The "Barcorama.zip" as it was too old...
 

Attachments

  • Barcorama_v07a.CAB
    129.6 KB · Views: 7,509
  • barcorama_v08a.cab
    274.3 KB · Views: 14,927
  • Barcorama_v09h.zip
    110.3 KB · Views: 8,088
  • barcorama_v09h.CAB
    509.2 KB · Views: 12,099
Last edited:

SilentlyScreaming

Senior Member
Feb 7, 2008
201
19
Astana
chrismerriman.com
I'm not experiencing crashes anymore, but the app doesn't appear to be receiving the photo taken after pressing shoot etc. I tried leaving the app for a minute, in case it was too busy processing to show anything on screen, but to no avail. If I take a photo manually, it is able to process via the OPEN button.

You might want to change the url in the about section into something people are more likely to type into their browser, in case they get the file indirectly... (the tinyurl would be http://tinyurl.com/2kxkuj for example, a little shorter at least)

The other files that came with the previous versions of Barcorama (WiMoNative.dll, and the OpenNETCF.etc.etc), can they be removed from the program's directory?

PS Thanks for all your work so far :)
 

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
I'm not experiencing crashes anymore, but the app doesn't appear to be receiving the photo taken after pressing shoot etc. I tried leaving the app for a minute, in case it was too busy processing to show anything on screen, but to no avail. If I take a photo manually, it is able to process via the OPEN button.

After taking the photo, do you manually press OK (or the "return" icon), or do you just leave it to return on its own? I think, the Nadavi's camera version, after some seconds returns automatically but it's actually a "cancel", not an "OK".

You might want to change the url in the about section into something people are more likely to type into their browser, in case they get the file indirectly... (the tinyurl would be http://tinyurl.com/2kxkuj for example, a little shorter at least)

The long url really sucks, I know. This was just a quick and dirty solution to the "add an About window". I will certainly change it to actually be a clickable link.

The other files that came with the previous versions of Barcorama (WiMoNative.dll, and the OpenNETCF.etc.etc), can they be removed from the program's directory?

Yes, with the present application functionality, do supplement dlls are needed. So, it is safe to remove them.

PS Thanks for all your work so far :)

Thank YOU...

hypest
 

srowen

Member
Feb 14, 2008
17
0
New York
code.google.com
Very nice.

Hi, Sean here from the zxing project. Glad to see you got this into C# and I hope it was not too painful. Let me know if you notice bugs. I put a link to your project on the code.google.com page.

Once the code stops changing and looks about done, we'd like to do the same thing, but port to Object C for the iPhone.
 

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
Got me blushing

Hi, Sean here from the zxing project. Glad to see you got this into C# and I hope it was not too painful. Let me know if you notice bugs. I put a link to your project on the code.google.com page.

Once the code stops changing and looks about done, we'd like to do the same thing, but port to Object C for the iPhone.

Hello Sean! Flattered to see a comment from one of the project's developer!

Translating to C# was surprisingly easy and effective by using the MS JLCA. Ofcource I had to make some adjustments, but nothing really "difficult". Poking into the zxing code is certainly on my agenta but for the time being I'm trying to figure out why the prog does not work on some fellow posters' devices :(. I'll be happy to drive your attention to any bugs I notice.

...will keep my eye on your project's progress... :)

hypest
 

nsa666

Senior Member
Jan 16, 2008
258
14
Quick Shot not working for me. The application do not get the image. Manual shot dont recognizes EAN13 code. Folder selection not working(HTC Camera takes the shots in Storagecard\DCIM\100Media folder that cant be selected because its a subfolder.)
 

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
Trouble replicating the problem

I just reverted my Kaiser to its original rom (had to cook it from the dump I performed the day I got it), but the prog works :( (shouldn't I be happy about that?). I can use the "Shoot" and recognize...

Some details:
device: HTC TyTN II (unbranded)
Greek ROM (ACE Hellas)
OS: 5.2.1620 (build 18125.0.4.2)
ROM version: 1.56.405.5
Date: 08/28/07
Radio: 1.27.12.32
Protocol: 22.45.88.07H
Camera ver: 4.08 build 28288

The prog also worked with my "previous" ROM (panosha's joannita light + Nadavi's camera)

Perhaps some of you guys that the app does not fully work, can post additional info on the hardware/software you're using.

Thanx,
hypest
 

nsa666

Senior Member
Jan 16, 2008
258
14
i wonder if it had something to do with localization. It is a german Phone here. I've tested it with my own programm(also written in C#) and it has no problem getting the shot. strange....
 

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
Quick Shot not working for me. The application do not get the image. Manual shot dont recognizes EAN13 code. Folder selection not working(HTC Camera takes the shots in Storagecard\DCIM\100Media folder that cant be selected because its a subfolder.)

EAN13 generally seems to work. Please, could you try this image?
I have tested the prog on about 10 actual products. Try to keep the phone about 6-10cm away from the target (not closer than 5, anyway).

Thank you for the info on the behavior of the load dialog. I will try and use a different facility to browse every folder.

hypest
 

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
i wonder if it had something to do with localization. It is a german Phone here. I've tested it with my own programm(also written in C#) and it has no problem getting the shot. strange....

I cannot completely rule out the possibility to be a localization issue, even though, the second Kaiser device I used today was not a Greek one (I thing was English-default) and it worked on it too.
 

nsa666

Senior Member
Jan 16, 2008
258
14
With your shot it actually works. With my it reads wrong code.
 

Attachments

  • IMAG0014.jpg
    IMAG0014.jpg
    77 KB · Views: 370

PengLord

Senior Member
Oct 24, 2007
135
27
Do you plan to release your source so that others might be able to develop customized applications? I personally would like to have it query a MySQL DB via the web over HSDPA connection to query inventory levels and pricing of product in my warehouse. Other uses might be to have it auto-query the UPC against an online DB to find the best price for a given product or to upload the UPC to an on-line DB to review later from your desktop.
 

pizzaguy

Senior Member
Jan 1, 2008
120
1
After you take the picture with the Shoot option what do you hit to have it decode it? If i hit the return (back arrow) nothing happens, and if i hit the OK key on the front of my Tilt, nothing happens...
 

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
Do you plan to release your source so that others might be able to develop customized applications? I personally would like to have it query a MySQL DB via the web over HSDPA connection to query inventory levels and pricing of product in my warehouse. Other uses might be to have it auto-query the UPC against an online DB to find the best price for a given product or to upload the UPC to an on-line DB to review later from your desktop.

Actually, these uses are exactly what I have in mind! The app will act just as the barcode-recognition medium. The backend will be the really interesting stuff ;).
I just have to figure out some serious problems and in the meantime I'll decide whether to release the code in an organized manner, or just enable the tool to be used as external executable from other apps (or a linkable lib).

After you take the picture with the Shoot option what do you hit to have it decode it? If i hit the return (back arrow) nothing happens, and if i hit the OK key on the front of my Tilt, nothing happens...

On my kaiser, either way works :(. Most of the time though, I use the front (D-PAD) OK button just because is easier to press.

I have updated the #1 post and attached a build with some debugging messages. Please try that too and report which messages you see.

hypest
 
Last edited:

nibblah

New member
Jan 31, 2008
3
0
I have updated the #1 post and attached a build with some debugging messages. Please try that too and report which messages you see.


"Dialog didn't return OK!"
apears when pressing OK on the D-Pad or the icon.

i have a German TyTn II.
ROM Version: 1.56.407.3

Nadavi_HTC_Camera_5_0_4_2915_00.cab is installed, could this be the issue? the preinstalled version was .... sh.... not very good.

hope this helps you a bit..
 

hypest

Retired Recognized Developer
Feb 1, 2008
235
4
Thessaloniki
bypass build

Fellow posters,

I have revised the #1 post to include a newer build, hopefully with better results. This one tries a different approach to reach the captured image..

to pizzaguy:
The paper might be helpful, event though it is not presented as simply software-based (it benefits from the DSP processor present).

hypest
 

nsa666

Senior Member
Jan 16, 2008
258
14
it still doesnt work.

Barcorama_bypass.exe
IOException

bei System.IO.__Error.WinIOError()
bei System.IO.Directory.InternalCreateDirectory()
bei System.IO.Directory.CreateDirectory()
bei TestNS.TestCL.button1_Click()
bei System.Windows.Forms.Control.OnClick()
bei System.Windows.Forms.Button.OnClick()
bei System.Windows.Forms.ButtonBase.WnProc()
bei System.Windows.Forms.Control._InternalWnProc()
bei Microsoft.AGL.Forms.EVL.EnterModalDialog()
bei System.Windows.Forms.Form.ShowDialog()
bei TestNS.TestCL.Main()


P.S.: This comes if i klick on "shot" buton. The camera app dont even starts.

P.S.2: just tested the verbose version. It seems to be something wrong with directory name. it says \Storagecard\Barcorama\Barcorama_verbose.exe. I think it should say only \Storagecard\Barcorama .
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    QR Codes

    For the life of me I am not coming right with the QR code scanning, I am trying a simple code like on the below site:

    Code:
    http://2d-code.co.uk/qr-code-google-charts-api/

    Does one need to switch from the line mode to a box mode for scan, like other QR scan software?

    I have no issues using the 1d UPC scanning functions, just these QRs. Perhaps a walkthrough on the front page would help?
    1
    QR decoding is only applicable on "shoot" mode, sorry...

    hvae fun,
    hypest

    Ah ok, got it working now, great program thanks!

    I do hope you are able to get QR Working in Scan mode someday, especially with the recognition speed increase you managed to get on the test version, way better!

    Also I see Microsoft SDK is available for Microsoft Tag, any idea if this includes decoding? It would be awesome if you could get this to work in Barcorama too! First Barcode app to do everything :)
    1
    I'm getting exactly the same error as Demonblaid, on a Motorola Q9c running WM6.1. I also have the current .net compact installed. Any hope for a fix?
    Thanks
    John

    Barcorama is not well-adjusted for running on WM Standard Editions (as opposed to touchscreen based Professional Editions). So, although fixing this bug is rather easy, the outcome will not be quite useful for your devices :(

    Mmmmhhh....

    Surely I lost some part of the discussion, because I'm definitely not able to download source code to try working on...

    Did anyone decide to remove downloading option?
    Alberto

    hmm, the code is still there, on sourceforge ;)
    v0.9 tarball


    have fun,
    hypest
    1
    The barcode is scanned, OneNote does automatically come into foreground with the open document, but the scanned number isn't paste into it. Using Strg-V I get the scanned number into the document.

    What's wrong about my setup??

    I'm afraid you have too many expectations out of the command line interface of programs :)... What a target program does with the data passed is totally in its control. Barcorama has no control over the usage of the passed data. In your case, Barcorama seems to work perfectly.

    That means that you will have to contact the OneNote support if it's supposed to paste the data somewhere but doesn't. I'm almost certain though that OneNote is not supposed to do that.

    ...hope I helped ;)