Optimizing for speed

As we are quite confident with the recognition rate, we’re doing some refactoring and optimization now. Because of the raw processing power modern GPU’s offer, we’re experimenting with HLSL Shaders for image processing.

The first tests showed a significant performance boost compared to similar things done on cpu.
Altough we’re just evaluating this method, we think that we can improve recognition performance dramatically.

Below a screenshot of a sobel filter implemented in a Pixel Shader applied to a 6 megapixel image:

Tags: , ,

11 Responses to “Optimizing for speed”

  1. Matthew Says:

    Assuming this is .net code (ie. not a wrapper around native) have you given it a go on the compact framework?

  2. jkersch Says:

    Hi Matthew,

    everything is completely managed code (i.e. no native stuff). however, the pixel shader stuff will not work on compact framework i think.
    but the rest of the library only uses the .net 2.0 BCL and nothing else, therefore it should be portable to compact framework without big problems.
    we didn’t had time to test something like this though.

  3. Jeff Says:

    Joachim, this looks really exciting. I don’t know if we would port this to compact or just depend on sending the images to a server for processing, but if we port it, I’ll be sure to let you know.

    If we end up doing this project, we would integrate it into the XML-RPC interface from upcdatabase.com, too. Again, I’ll pass word if we do that.

  4. JeffM Says:


    I am interested in how your library might perform with poor quality images, such as those taken from mobile devices without maco/auto-focusing lenses…

  5. jkersch Says:

    hello Jeff,
    thank’s for your comment, i’ll take some mobile phone pictures to test how well bamby performs there. I’ll post the results. If the pictures are not too blurry (i.e. different lines can be distinguished) i guess there should be no problem detecting barcodes.

  6. Joachim Says:

    hello joachim (=namensvetter),
    i would like to know about the status of your project and if you make it available as open source. i am teaching medical image processing - and barcode reading get’s more and more important in the medical sector. so i am happy about any information you can give.

    all the best!

  7. Daniel Berghold Says:

    Hey, I would also be interested in this project very much. Will you release it for free or as open source? I am a hobby programmer and I would be very interested to try this library for one of my personal projects. Could you tell me please, when you are planing to release it?

    Thank you very much.

  8. Michael Ellerbeck Says:

    I am also interested in the code.

  9. Kelly Brown Says:

    Hi, very nice post. I have been wonder’n bout this issue,so thanks for posting

  10. kingbobske Says:

    Hallo, is there any url from where I can retrieve the project in c# code. I’m doing a project on barcode reading as well. Can you also tell me which barcodes/matrixes are supported yet?

    Thank you

  11. Daniel Berghold Says:

    Hey, any updates on this project? Is it still alive? Thank you very much!

Leave a Reply

You must be logged in to post a comment.