mobile app idea

I would like to build an app which would enable customers to take a picture/scan of any retailers  receipt, and our app would bring up the list of items that the customer purchased. For instance, the barcode located at the bottom of most retailers receipt would be scanned by our mobile app and the app would bring up pictures of the items purchased. Is this application feasible or not. If so, what needs to happen in order to make it possible?
Rafael BanksAsked:
Who is Participating?
 
David JonesSystems / Servers / Networks / Virtualization / Programmer / DeveloperCommented:
Actually this could be done with OpenCV and Tesseract-OCR without the bar-code or QR code... The problem is this needs to be done through C++ and a native version for all the different platforms, you're talking $$$. Receipt scanning and item recognition with OCR is nothing new, but mainly geared towards records keeping and accounting. Also this is mainly only on desktops, because they're more powerful than your ARM based smart phones, but then Cloud infrastructure can be used to accelerate this CV / OCR processing.
0
 
Joe Winograd, Fellow&MVEDeveloperCommented:
Hi Rafael,
It is not feasible, because the bar code (or QR code) at the bottom of a retailer's receipt does not contain information on the list of items that the customer purchased. The bar (or QR) code may be a transaction ID that links to the retailer's database, which could, indeed, contain the list of items in that purchase, but your app would not be able to access the retailer's database to get that info. Regards, Joe
0
 
Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
> Is this application feasible

That is the question you want to ask yourself first.  Is there a problem you are trying to solve? Who is the target?  What are your goals? How do you propose to generate revenue?  Profit?  You should have some type of idea and a little bit of research before moving on.

You may have an idea that nobody else can understand, but you have a vision on what the end looks like and potential.  That we can't help you with.  Yes, we have knee jerk opinions, but that can't replace more formal research.

As far as mechanics, the bar code is specific to the retailer.  It may just be the invoice id and what is stored on the invoice is in the back end database and not the bar code. That leaves you with character recognition.  That will be the easy part. But every retailer will have a different way of displaying an item and many times it is abbreviated. You will have to learn how the abbreviations work for each retailer (or pos system).  Some may use product id's but a Samsung TV at BigBox 1 could have the same exact TV but use a different product name or number just to prevent price comparisons.

Anytime you can take a picture of something and automate from there seems to be a good idea.
1
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
Rafael BanksAuthor Commented:
Thanks you!
0
 
Joe Winograd, Fellow&MVEDeveloperCommented:
You're welcome, Rafael. As a side comment, there are many reasons why OCR is not a good idea for this project, depending, of course, on your objective for the app (as Scott very wisely pointed out). Given the quality of a typical retailer's receipt, you're likely to be unhappy with OCR results. Also, receipts vary tremendously in terms of what text is on them, so how you would use the text, for example, to "bring up pictures of the items purchased" is highly problematic. And if you do give OCR a spin, you should try commercial grade software, not Tesseract. That said, if you try Tesseract, this article may help:
http://vbridge.co.uk/2012/11/05/how-we-tuned-tesseract-to-perform-as-well-as-a-commercial-ocr-package/

But note that the textcleaner ImageMagick-based script it uses to improve Tesseract accuracy (which, in my experience, is poor out-of-the-box) is free only for non-commercial use. If you want to sell your app, you'll need to contact Fred Weinhaus for licensing arrangements, as documented at his site. Regards, Joe
0
 
David JonesSystems / Servers / Networks / Virtualization / Programmer / DeveloperCommented:
Joe... There is usually always a way to accomplish anything that is proposed. Since Bar codes and QR Codes do no contain the information necessary, this likely the only way to accomplish this problem. I find it unprofessional that you are shooting down the only solution available. I never said it was perfect or the best solution, but it appears to be the only solution available unless you can come up with something better???.....
0
 
David JonesSystems / Servers / Networks / Virtualization / Programmer / DeveloperCommented:
I see OCR as the only solution for this project...

In my opinion you just told him it wont work, nothing will work, give up and don't even try because it will be too challenging... Very Encouraging...
1
 
Joe Winograd, Fellow&MVEDeveloperCommented:
Hi David,

> I find it unprofessional that you are shooting down the only solution available.

I beg to differ. I believe I was very professional in my statement...simply offered a different opinion...not rudely, not flaming...but professionally.

You say, "I see OCR as the only solution for this project..." I say, "I do not see OCR as a solution for this project."

We have different opinions. Nothing wrong with that. After spending more than 25 years in the document management / document imaging / OCR arena, I wanted to give Rafael my opinion based on that experience. It's fine that you have a different opinion. Time to move on. Regards, Joe
0
 
Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
Let's be careful to not mix up the actual question which at this point is general in nature,  Is it feasible? What are the obstacles?  Details such as specific software libraries are for later in the process and another question thread if created.
0
 
David JonesSystems / Servers / Networks / Virtualization / Programmer / DeveloperCommented:
So then tell me Joe, what is your solution?
0
 
Rafael BanksAuthor Commented:
I really appreciate all of the feed back. You all are the first to give me some guidance on my idea. I can see that this will be a frustrating road, but it will be rewarding as well once I am able to hurdle the obstacles. I appreciate all of the advice and I will be coming back to you for more. Please keep an open mind for me!
0
 
Joe Winograd, Fellow&MVEDeveloperCommented:
> what is your solution?

I don't have one. In my opinion, there is not a feasible solution for what Rafael wants the app to do. Sometimes the answer is "you can't do that", as discussed in this EE support article:
http://support.experts-exchange.com/customer/portal/articles/755964

But if you think there is a feasible solution, by all means go for it. Regards, Joe
0
 
Joe Winograd, Fellow&MVEDeveloperCommented:
> In my opinion you just told him it wont work, nothing will work, give up and don't even try because it will be too challenging... Very Encouraging...

David,
You must have added that comment above before I refreshed the page. When I initially replied, I saw only your "I see OCR as the only solution for this project..." comment. With respect to your add-on comment above, talk about unprofessional! No other way to describe a rude, biting, sarcastic comment like that. That's all I say. Regards, Joe
0
 
David JonesSystems / Servers / Networks / Virtualization / Programmer / DeveloperCommented:
That's why at the bottom of the link that you posted, there are receipts with their OCR equivalent with perfect translations.
0
 
Joe Winograd, Fellow&MVEDeveloperCommented:
> That's why at the bottom of the link that you posted, there are receipts with their OCR equivalent with perfect translations.

Wrong. The translations are not perfect. There are at least a half-dozen OCR errors in that one small receipt. Looking at that page, the Tesseract output with textcleaner has these errors:

(1) extraneous underscore-space

(2) extraneous Â>>

(3) 602 0 should be 6OZ @ (note the classic OCR problems of number "0" versus capital letter "O" and number "2" versus capital letter "Z")

(4) 2402 should be 24OZ (same errors as in (3) above)

(5) — should be space-hyphen-space

(6) 6 8 should be 6 @

This is typical of what I'd expect from OCR on receipts, even using better quality OCR than Tesseract. I don't consider such results to represent a viable app, especially an app that wants to use the OCR'ed text to do other stuff, such as "bring up pictures of the items purchased". Now, it's certainly possible to attempt to correct OCR errors. For example, I recently wrote an app for a client that has a customizable OCR Correction Dictionary. But it is for fields that are known to be digits, so it is a much easier problem to solve. Here's the default dictionary that I distribute with the app:

o0
O0
Q0
l1
I1
i1
|1
!1
¡1
z2
Z2
s5
S5
b6
B8
E8
e8

But correcting "modern" into "modem" would be far more difficult. Again, it comes down to whether or not one considers the app that Rafael is contemplating to be "feasible". Regards, Joe
0
 
David JonesSystems / Servers / Networks / Virtualization / Programmer / DeveloperCommented:
Pretty much all of these can be accounted for by looking / expecting these responses and providing the correct translation. I've written C++ tesseract OCR apps before and have experienced all these and got around the majority of them through clever ideas like translation databases.
0
 
Joe Winograd, Fellow&MVEDeveloperCommented:
Fair enough!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.