yashsingh1/xdaforums huggingface dataset:
[Tilt, TyTN II, MDA Vario III General] srowen:
It decoded for me today so I think I fixed it along the way.

I also updated the decoder to us a "try harder" mode that, among other things, looks for 1D barcodes backwards and vertically. So the online decoder will recognize this even rotated like this.

Sounds like this is a problem you don't have, and "try harder" shouldn't be enabled on mobile devices anyway.
[Tilt, TyTN II, MDA Vario III General] hypest:
Nice! I'm always looking for ZXing updates and trying to port them for Barcorama :). Is this "try harder" mode part of the image hist normalization, thresholding, or the pattern decoding?

I'm not sure I follow you... That photo was not recognized by Barcorama either, Then I tested it with the online decoder (rotation-fixed). After that I posted the photo, addressing you.

hypest
[Tilt, TyTN II, MDA Vario III General] netGott:
Hi hypest!

I like your software, but it wont work like it should on my XDA mini (2 years old HTC Magician).

I updated my PPC to Microsoft .NET Compact Framework 2.0 and Barcorama runs fine firstly.

But if i click on "shoot" the program exists with "Unexpected Error in Barcorama.exe", the details show some TypeLoadException and some more stuff.

I can post it here if you need!

My OS is Windows Mobile 2003 2nd edition v 4.21.1088 (build 15045.2.6.0) and i have about 20 MB of free RAM.

Because of you writing

in another thread, i hope it's the programs fault and not mine! ;)

Please help me to get that nice programm running on my device!

I'm very interested in it!

Thank you!!
[Tilt, TyTN II, MDA Vario III General] hypest:
netGott, thank you for your nice words about Barcorama!

I think that the .net camera API (CameraCaptureDialog) is implemented in WM5 devices and later. This is the API used in Barcorama. And actually, is the manufacturer's responsibility (HTC in our case) to implement the API. Of course, I can be wrong and the fault in your case is something else. So, if it's no much trouble for you, please post the full text of the error you see, and I will investigate it further...

thank you!

hypest
[Tilt, TyTN II, MDA Vario III General] srowen:
It's a decoding hint to the decode() method. You can tell it more about the image, like, that you know it's a QR Code already, or that it's a "pure" black and white image. I've added DecodeHintType.TRY_HARDER which has it do a lot more work to find a barcode. Fine for running on the PC -- not fine for mobiles.

What I meant was that yes I think I must have fixed the underlying issue after you reported it, and before I took a look, because it was decoding for me, and decodes now. The online decoder would not have recognized the image you posted just because it was rotated, but I understand that was not why it didn't decode for you. And then in additional, the new "try harder" mode causes it to scan vertically, so now the online decoder will even decode that when it's rotated.
[Tilt, TyTN II, MDA Vario III General] FlyBoy276:
Hmm, am I the only one that cant see any of the options in the settings? I can see the check boxes, but everything else on the screen is black, with exception of a gray bar that shows "General, Enabled codes, Program to run, and Arguments," along with a box that says SIP on the last page. Is there a fix/cause for this that is know?
[Tilt, TyTN II, MDA Vario III General] hypest:
FlyBoy276, this behavior is not reported my anyone else, and I've never encountered it. But please, give me some more info: does this happen with both versions from the #1 post ("normal" and "speedy")? What about screen size (VGA maybe?) and orientation (portrait or landscape)?

thanks,

hypest
[Tilt, TyTN II, MDA Vario III General] FlyBoy276:
The issue occurs with both versions, both orientations, with QVGA Tilt.
[Tilt, TyTN II, MDA Vario III General] pizzaguy:
perhaps you have changed a system setting that overwrites text color/font causing it to not show up on black background?
[Tilt, TyTN II, MDA Vario III General] hypest:
I've just checked the source code and I'm explicitly setting the checkboxes' text color to white... So system color settings *should* not affect them...no clue for the moment.

hypest
[Tilt, TyTN II, MDA Vario III General] London Rain:
Somehow I can't get it to recognize any codes. If i take a picture it goes back to the main screen where it takes some thirty seconds of "Please wait" until it shows "no barcode found". :( I tried different bar code types and both program versions. :( Am I missing something?
[Tilt, TyTN II, MDA Vario III General] London Rain:
Hm... seems the camera is just too bad and produces too much blurring. Very big ones in 2D seem to work.
[Tilt, TyTN II, MDA Vario III General] -wireless-:
This is a great program hypest props to your hard work :D

I'm using it on a stock WM6 dopod 838pro and it runs pretty smooth. The camera thing that others were having where it won't find the image happens to me too where it will not find the picture after the shooting, but I can open it up straight away so it isn't that big a deal.

I would love to see the code for this one day :) I think once you release it, more people will be able to help you tweak it.

Keep up the good work.

Cheers
[Tilt, TyTN II, MDA Vario III General] hypest:
Wireless, thank you for your kind words! I certainly want to open up the code. It's not that a big secret anyway :). The thing is, it's quite messed up, and I can't find the time to clean and release it!

Besides that, occasionaly, I'm trying to enhance the recognition algorithm so to use the low-resolution video capture mode.
[Tilt, TyTN II, MDA Vario III General] srowen:
Keep up the good work. I should mention we've made some pretty good improvements in 1D decoding recently, both speed and accuracy. I'm about to cut an 0.8 release. You should try re-importing the code to take advantage of it.
[Tilt, TyTN II, MDA Vario III General] stolli:
this could be useful for checking fake id's...most arnt scannable..and this can pick up 2d (?) barcodes on the back..i already tried it with a real and fake and it picked up the real and not the fake...these barcodes store dynamic information (i believe) and it would be pretty cool if this information could be extracted..

great app!
[Tilt, TyTN II, MDA Vario III General] -wireless-:
I think it has a lot of good potential this app, I was thinking of just some uses that can come from it.

If you catalog items in your house (cds, books, etc) you can check if you have it already when buying products simply by scanning. A more unrealistic, but cool feature could include something where you have an inventory system setup at home so if you throw away something that is empty, you could scan it and next time you go shopping, you open up your shopping list that is auto-generated and makes your shopping that much quicker. Naturally you would have to catalog these items too but could be good.

Just some small things that I wouldn't mind seeing implemented in the program include a more robust "arguments" field where you could give it a list of things to do such as if you were going to input this data into another application, it would press enter afterwards. This way it makes it easier to integrate this program into others. Some good keywords might be something like [e] for enter, [t] for tab etc. Things like that would be good :)

Another feature that would be handy is in the settings to have 2 checkboxes, one for deleting a photo that isn't able to be recognised and another for just deleting any photo after it has been recognised or if it fails. That would come in handy if you wanted to conserve space and wanted to do multiple scans.

Other than that I think it is a superb program and I look forward to seeing this improved algorithm in the 1d barcode space because I think it is very useful :)

Cheers
[Tilt, TyTN II, MDA Vario III General] Flubster:
finally we can make barcode battler for the pda. awesome.

http://en.wikipedia.org/wiki/Barcode_Battler

Flubster
[Tilt, TyTN II, MDA Vario III General] -wireless-:
lol indeed.

It wouldn't be too hard to create a game like that once the initial struggle of getting the input properly is overcome.

Cheers
[Tilt, TyTN II, MDA Vario III General] hypest:
great input guys! Spotting fake IDs... really clever!! And a barcode game! Yes, extending the command line interface won't be hard to implement...

To srowen: I periodically check the progress of your ZXing. I will try to incorporate it again. Sidenote: I really liked its Google Android Challenge success! Keep it coming ;)

hypest
[Tilt, TyTN II, MDA Vario III General] -wireless-:
This is an application of what can be used with this type of thing.

http://news.bbc.co.uk/2/hi/technology/7476672.stm

I am actually thinkinng of making something similar using this phone scanning technique.

Hopefully this program barcorama doesn't cease to be developed because I would love to see it being improved to make scaning easier.

Cheers
[Tilt, TyTN II, MDA Vario III General] hypest:
Very interesting link -wireless-! It does show that the idea behind Barcorama is a realistic one :)

The software development is not ceased, let me tell you. I'm trying to develop an image enhancement algorithm to make scanning work with that really nasty images, kaiser's camera takes when in video mode. No major breakthroughs though :(. But I don't dispair ;)

hypest
[Tilt, TyTN II, MDA Vario III General] pizzaguy:
That is an awesome idea, but it gives me an even better idea!

Imagine if you scan barcodes for food and stuff at your house and then the codes are sent to a site and all of your stuff is mailed to you.

no more forgetting the milk :D
[Tilt, TyTN II, MDA Vario III General] -wireless-:
Yeah I was thinking of something similar pizzaguy.

There are heaps of applications you can use this program for.

That's why I am excited that this project is still going strong.

If you need any help hypest I will help in any way I can.

I do a bit of C# programming for my Dopod using VS.

Cheers
[Tilt, TyTN II, MDA Vario III General] Le Sage:
Koushik Dutta has also worked on 1d-barcodes doing a little app for stocking & displaying 1d-barcodes.

It doesn't scan barcodes though, so it's not a competitor to Barcorama.:)
[Tilt, TyTN II, MDA Vario III General] hypest:
That's quite an interesting app too! A really clever idea to incorporate those supermarket cards "into" your phone instead of your wallet/keychain. Ofcourse, is quite different than Barcorama, since it goes the other way: getting barcodes out of the phone :)

In any case, barcodes+pda is such a cool/useful fusion! If only we had a better camera API from HTC :(
[Tilt, TyTN II, MDA Vario III General] whk:
Bar Code Scanning on a phone

I saw this windows mobile phone (two models) and was impressed - We are deploying this in an application we write JUST FOR THE SCANNER - I thought those of you who are interested in this might want to know about this phone - apologies to HTC...

http://www.opticon.com/

Bill
[Tilt, TyTN II, MDA Vario III General] bendtsen:
Is the source code available

Hi Hypest,

First of all I must say it is a really nice project. I tried it out on my HTC touch (elf) and got it to work on some 2 d sample pictures taken with the camera. I tried a couple of 1d barcodes with no luck though. But really nice work none the less.

Do you have any SourceForge site where I can browse the source code. I'm having another project in mind where I would like to use this as a base. At least toying around with the current code will give me an impression about how everything is structured and if it will be possible to leverage on your work.

Cheers

Bendtsen
[Tilt, TyTN II, MDA Vario III General] hypest:
Bendtsen, thank you for your kind words :) Sorry to hear that 1-D code recognition failed for you :(

The source code is not released yet...

Nevertheless, feel free to PM me about it... I'll be glad to help you if I can...
[Tilt, TyTN II, MDA Vario III General] hypest:
I'm not aware of the software you mention, but if it can be launched using the UPC code as a command line parameter, then yes, you can configure Barcorama to do that...

I'm afraid that the missing autofocus feature plays a very importand role. But try this out: if your camera has zoom support (even the fake, digital one), then, hold the phone far away from the object and use the zoom. Placing the phone far enough, the object is better focused...

Thanx! this is a bug alright...

Good idea ;). I wouldn't personally mess with an OCR approach though, unless a nice (and freeware) toolkit comes forth :)

Disabling the various code types only makes Barcorama faster... and that was the intention, since the whole procedure is so sloooww :(

Thank YOU for the interest in Barcorama, and sorry for my late response :o

hypest
[Tilt, TyTN II, MDA Vario III General] Protonus:
hypest:

no worries on the late reply I know I wrote you a novel. I'll look forward to your fixed version of the "speedy" edition, and I'll play with it some more! Thanks!
[Tilt, TyTN II, MDA Vario III General] mrnagrom:
barakobama?
[Tilt, TyTN II, MDA Vario III General] galmok:
While I do think Barcorama is a nice tool, there is one place where it lacks. That is when it fails to capture a barcode. That in itself is not so bad, but the very long time it takes to give up is a big issue. When it finds a barcode, recognition is withing 1-2 seconds (very good indeed), but when it fails, it takes about 20-30 seconds. That ruins an otherwise great application.
[Tilt, TyTN II, MDA Vario III General] hypest:
Hello galmok, you are right. It takes too long! What it actually does is quite "stupid": the photo is sequentially scanned for each enabled code, horizontally and vertically! So, when no barcode has been found, the whole list of enabled codes has been tried. You can "workaround" this situation by disabling the codes you know that you never use...

hypest
[Tilt, TyTN II, MDA Vario III General] galmok:
I see. It seems the recognition code could use some refinement then.

Maybe(!) use a fourier transformation and use it to see in which direction the lines are laying. To reduce the search space. Fourier transformation is however not cheap (2 dimensional fourier transformation is needed (2D FFT)).

Other methods do exist. For instance use a line based hough transformation. This could be somewhat faster (and simpler). Simple explanation:

1) Edge detect the image (simple Prewitt or Sobel would do). Optional really, but we want to reduce number of pixels above threshold for speed reasons.

2) Threshold the image. Barcode lines should show up (nevermind we only see the edges).

3) Iterate through all points above the threshold. For each point x,y:

3.1) Calculate R for each Theta between -pi and pi: R = x*cos(Theta) + y*sin(Theta)

3.2) Add-Plot Theta, R in a new image. Theta increments should be fairly small depending on the resolution you want on the later-found Theta. "Add-Plot" means start plotting with value 1. Everytime the same pixel is plotted, increase by 1.

4) The new image is the hough space. Search for peaks. The theta value with the most peaks is likely to be the direction of the barcode.

5) Every peak in the hough space represents 1 line.

Using hough transformation, the bar code could be recovered regardless of its placement in the image. You could use the found Theta to rotate the image so the rest of the algorithm always had a properly aligned image to look at.

And because you get several peaks (one for each line), this means you could use this information to perform geometric corrections to the barcode. Automatically. In theory. ;-)

Read more here: http://en.wikipedia.org/wiki/Hough_transform

A variant of the hough transformation can run in realtime (although possible not on wm) and source is provided:

http://www.inf.ufrgs.br/~laffernandes/kht.html
[Tilt, TyTN II, MDA Vario III General] hypest:
Get the source!

@galmok: the sequential search for the code types is done after the photo preprocessing. The problem at that point is to detect exactly the code type. So the software tries them all to see which one fits :). Feel free to try any ideas! See the following:

@all:

Dear posters,

the source code of Barcorama is now available at Sourceforge (https://sourceforge.net/projects/barcorama/).

happy coding ;)
[Tilt, TyTN II, MDA Vario III General] galmok:
Yes, that makes sense. But hough transformation can be helpful here as well. Deciding between 1D and 2D barcodes is just checking of approximate equal number of lines are vertical and horizontal (or ortogonal to each other). Same amount = 2D, 1D otherwise.

Thanks. :-)

I tried the realtime hough transformation I linked: 30-31 fps on a 2.2 GHz AMD X2 (1 core used).
[Tilt, TyTN II, MDA Vario III General] hypest:
you mean you tried it in Barcorama?!?
[Tilt, TyTN II, MDA Vario III General] galmok:
No. The AMD X2 doesn't exist in pocket pc's yet, but I printed the stat just to show that the algorithm is quite fast. This gives hope if it were to be used in barcorama. I am not sure what performance to expect with ARM cpus. Really depends on how much floating point is used (or not). ARM cpus don't support floating point natively IIRC.
[Tilt, TyTN II, MDA Vario III General] hypest:
As a .NET application, Barcorama can run on the Desktop too. Try it out ;). So, you can get the source and experiment on your X2...
[Tilt, TyTN II, MDA Vario III General] galmok:
Already downloaded it tried, but my .NET development set is too old right now (2003). Can't load the project. I'll have to do something about that. :-P
[Tilt, TyTN II, MDA Vario III General] hypest:
Start by getting the Visual C# Express Edition (it's free!) and .NET Compact Framework SDK (also free). I personally use the 2005 version and NETCF 2.0.
[Tilt, TyTN II, MDA Vario III General] WhiteCell:
i managed to run notes for example...but i cannot insert the code....my settings looks like this :

but it just opens notes...

better would be excel file...but i don't know how to do it....

any pointers ?

i need this to make a list of scanned codes
[Tilt, TyTN II, MDA Vario III General] pizzaguy:
hypest, ive been wondering, how does barcorama search for the barcode at first? like does it just go up and down until it finds it? That question leads to: If there are 2 barcodes next to each other on the same picture (above and below or side by side) which will it read?

Also, would it be possible to put a cancel button on it when it is reading a barcode, like when you KNOW it is too blury?
[Tilt, TyTN II, MDA Vario III General] hypest:
hey pizzaguy,

Barcorama searches for one barcode only. If there are more than one, above/below the other, the one closer to the center one will be picked up as the search is done from the center outwards. If the codes are one next to other, I'm not really sure how ZXing manages it.

Have you tried such cases? I had tried the "above/below" case: the "center" one is recognized.

With the present, single-threaded source code no, it's not that easy to put such a button. But it's a good recommendation ;), I'll have that in mind...
[Tilt, TyTN II, MDA Vario III General] hypest:
As far as I know, Excel cannot do such a task through the command-line. It would be interesting though, to investigate whether we can run VBScript and edit excel sheets that way...
[Tilt, TyTN II, MDA Vario III General] WhiteCell:
ok i understand...

what about notes stuff...any command line to automatic paste the code ?

or maybe internal txt file in barcorama...that u ca open later in win....and have a list of scanned codes
[Tilt, TyTN II, MDA Vario III General] Synssins:
Disregard.
[Tilt, TyTN II, MDA Vario III General] mkrivoy:
AURUA

Here was MIcrosofts version of the 1d android scan/ shop savvy it never actually made it but maybe it will help with some coding issues or anything else. It will be really cool when I can got to the store and scan something to find out where I can get the best price. Any help you need let me know I will try to fit it in between law school and 65 hour work weeks. lol
[Tilt, TyTN II, MDA Vario III General] mkrivoy:
microsoft aurua

I guess it would help if I posted the link to the.cab for the program huh lol

http://web.archive.org/web/200703050...aura/AuraU.CAB
[Tilt, TyTN II, MDA Vario III General] wizardsden:
it looks like zxing has mostly finalized DataMatrix support in the project. Do you plan to update Barcorama to add this support?
[Tilt, TyTN II, MDA Vario III General] hypest:
I'm afraid that 2D barcode support is not a high priority for Barcorama. Besides, there are much better alternatives when is comes to 2D code recognition progs.

Tracking the ZXing implementation is also not very important as the main problems spring from the HTC software support!!! Let me put this in a catch-phrase: "HTC is killing Barcorama"... there, I said it...

I'm currently working mostly on another backend support for Barcorama... the database of codes/products/etc...

Sorry if I disappoint you regarding DataMatrix. Barcorama source code is available on Sourceforge so anyone willing to bring it more up-to-date with ZXing is welcome to do it :)

have fun,

hypest
[Tilt, TyTN II, MDA Vario III General] WizardN00b:
Using an HTC Wizard...I don't think the camera is good enough to capture a barcode clearly...
[Tilt, TyTN II, MDA Vario III General] oldgarfield:
Another site to check upc

Thanks for your program.

Just wish to contribute another site to check upc

http://www.checkupc.com/search.php?keyword=!###!
[Tilt, TyTN II, MDA Vario III General] oldgarfield:
Also

http://www.google.com/products

provides the comparison of price given a keyword.

So if we could find the product title from the UPC code database, we can use that title as the keyword and query the price. Sort of Shop Savvy functions on HTC G1.

This should be fairly easy to implement.
[Tilt, TyTN II, MDA Vario III General] nuclianba:
another search site

This one is good:

http://www.fastpricecheck.com/GetData/HTML/!###!

it has all kinds of search options, remembers you, and also can search by description. Its an aggregation site, so its taking its data from google, ebay, shopping.com, yahoo, etc.
[Tilt, TyTN II, MDA Vario III General] sfld:
works perfectly! has anyone tried the speedy version compared to the other?
[LG V30 Questions & Answers] Charkatak:
Hi guys. I am thinking about V30, but want to find out what the storage speed is. I use AndroBench app from Play Store and run "Micro" test only. This shows me MB/s of the storage. As far as I know, the 500+MB is for UFS 2.0, 700+MB is UFS 2.1

Could any of you that have the device, ran the benchmark and tell me if the storage is USF 2.0 or 2.1
[LG V30 Questions & Answers] lg3FTW:
Here you go. Not fully getting what you want but here results
[LG V30 Questions & Answers] Killua96:
As written Here UFS 2.0 has maximum speed close to 500MB/s, UFS2.1 has it close to 800MB/s.

In that thread there are also some terminal commands to find serial number of internal memory in order to establish if is UFS 2.0 or not (just google the number)
[LG V30 Questions & Answers] Charkatak:
Interesting... For example I ran LG G5 test and it showed the reading speed as 418MB or so and the other #s I don't remember.
[LG V30 Questions & Answers] Charkatak:
Right. I have seen this or similar thread when I bought my Galaxy S8 in the summer. Now since V30 is out, I just wanted to see if the speeds of storage are fast or not. I also had HTC U11 as well and reading speed was 760MB or more, don't remember exactly. U11 was much faster when installing and updating apps, it was twice as fast than my S8.
[LG V30 Questions & Answers] Billy Madison:
Could you run these? Or some of them?
[LG V30 Questions & Answers] ChazzMatt:
Both the LG V30 and V30+ have Toshiba UFS 2.1 (THGAF4G9N4LBAIRB) internal storage

LG's press release:

http://www.lgnewsroom.com/2017/08/l...ier-with-premium-cinematography-capabilities/

Other sites even give the manufacturer and component number:

https://www.androidheadlines.com/2017/10/lg-v30-review-ultimate-creativity-tool.html

https://www.anandtech.com/show/11789/hands-on-with-the-lg-v30
[LG V30 Questions & Answers] 20degrees:
You do go overboard sometimes, but man, you're beyond an over achiever. ?

You help a lot of people. ?