I wasn't using a formula, just demonstrating that your original text was
too small. Here is some advice from the FAQ (
https://code.google.com/p/tesseract-ocr/wiki/FAQ)

Is there a Minimum Text Size? (It won't read screen text!)
---
There is a minimum text size for reasonable accuracy. You have to consider
resolution as well as point size. Accuracy drops off below 10pt x 300dpi,
rapidly below 8pt x 300dpi. A quick check is to count the pixels of the
x-height of your characters. (X-height is the height of the lower case x.)
At 10pt x 300dpi x-heights are typically about 20 pixels, although this can
vary dramatically from font to font. Below an x-height of 10 pixels, you
have very little chance of accurate results, and below about 8 pixels, most
of the text will be "noise removed".

On 13 January 2015 at 21:45, newbie <[email protected]> wrote:

> Allistair,
>             Sorry for coming back to you on this again. When I did the
> upscaling of the original picture to 3000px(like you suggested), ocr could
> read it. But the resolution on the upscaled picture still seems to be
> 96.dpi. How did you arrive at the target 3000px ? Did you have a particular
> formula ?
>
> I came up with the exact pixels to be upscaled to, using paint, so that
> the ocr could read it(trail and error). But I am trying to find the common
>  factor/formula to upscale for any of my images so that the ocr could read
> it to produce good accuracy.
>
> I guess in other words I didnt understand....the below line, in your post
> below. Any efforts at ellaborating it, is highly appreciated.
> *it should be a ratio of the original size of the cropped image to make it
> 300dpi*
>
>
> *Thanks*
> On Thursday, January 8, 2015 at 5:08:46 PM UTC-5, Allistair C wrote:
>>
>> What did the non upscaled version look like  - this looks far too blurred
>> which is why it's struggling. It might be that your upscaling is too much -
>> it should be a ratio of the original size of the cropped image to make it
>> 300dpi, rather than always 3000px.
>>
>> Cheers
>>
>> On 8 January 2015 at 21:34, newbie <[email protected]> wrote:
>>
>>> Thanks Allistair. I have it working. The problem is , if I used the same
>>> "mantra" of resampling for other images its not working. I have this
>>> cropped image(attached, which is also upscaled to 3000 pixels width vice),
>>> its coming out VIPZZSO. I need to sharpen this  probably. I have to set to
>>> very sharp in the preprocessing pgm I am using, but in vain.
>>>
>>> Any directions. for general preprocessing ?
>>>
>>>
>>> On Thursday, January 8, 2015 at 11:39:55 AM UTC-5, Allistair C wrote:
>>>>
>>>> OK good.
>>>>
>>>> I got it working by both resampling (upscaling) the cropped version and
>>>> the full image.
>>>>
>>>> If you are using the "white box" approach so that you have a crop area
>>>> (best method) then you just need to upscale that.
>>>>
>>>> There are many ways to resize an image up - you can find that easily
>>>> with Google. I used Open CV for Android and the cvResize function for
>>>> example. There are libraries for doing this in Java, .NET, Python etc..
>>>> just look around.
>>>>
>>>> Cheers
>>>>
>>>> On 8 January 2015 at 16:24, newbie <[email protected]> wrote:
>>>>
>>>>> It worked YAY!, you have all my gratitude!. ok now I need to know how
>>>>> you did the resampling. I thought you said you took the cropped image and
>>>>> resampled. But this seems like the original png file(Arris2500.png)
>>>>> resampled. Let me know how you went about resampling and how I can acheive
>>>>> it programatically.
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Thursday, January 8, 2015 11:06:33 AM UTC-5, Allistair C wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I've not used tess4j but the JavaDocs show that it should be possible
>>>>>> to set TessAPI.TessPageSegMode:
>>>>>>
>>>>>> http://tess4j.sourceforge.net/docs/docs-1.0/net/sourceforge/
>>>>>> tess4j/TessAPI.html
>>>>>>
>>>>>> http://tess4j.sourceforge.net/docs/docs-1.2/net/sourceforge/
>>>>>> tess4j/TessAPI1.TessPageSegMode.html
>>>>>>
>>>>>> The 3000 resampled image was:
>>>>>>
>>>>>> https://dl.dropboxusercontent.com/u/523401/ArrisVIP2500_3000.png
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> On 8 January 2015 at 15:35, newbie <[email protected]> wrote:
>>>>>>
>>>>>>> Allistair,
>>>>>>>             Thanks for taking the time to respond . Do you know how
>>>>>>> to use psm 6 in tess4j(its probably an argument to the instantiator, 
>>>>>>> need
>>>>>>> to look up the src code) ? I have not seen any examples of it being 
>>>>>>> used by
>>>>>>> googling.. I tried to resample the cropped image to 3000 px(horizontall
>>>>>>>  using paint) like you suggested and ran it thro tess4j and it still did
>>>>>>> not recognize my model number. Gave me an output of "VIPZSOO". So I 
>>>>>>> guess
>>>>>>> piping it thro psm 6 is the key. Also can u send me the image that was
>>>>>>> produced after you resampled it to 3000px, so that I know my resampling 
>>>>>>> is
>>>>>>> right.
>>>>>>>
>>>>>>> I also like your idea of providing the white box in the camera view
>>>>>>> to use it as my input to cropping . Sure can do that.
>>>>>>> I think I am glad discussed the feature matching - that seems more
>>>>>>> like object recognition than text recognition. So probably is far 
>>>>>>> fetched.
>>>>>>> I had used camFlow(an app) to see if it would recognize my equipment 
>>>>>>> images
>>>>>>> and it always came back with "Black media player". So they probably are
>>>>>>> using feature matching of openCV.
>>>>>>>
>>>>>>> Thanks again and appreciate your taking time to respond.
>>>>>>>
>>>>>>>
>>>>>>> On Wednesday, January 7, 2015 6:12:05 PM UTC-5, Allistair C wrote:
>>>>>>>>
>>>>>>>> It sort of depends on your hardware and how similar or different
>>>>>>>> they are. Reliable feature matching works on distinct features (so 
>>>>>>>> there
>>>>>>>> need to be enough points of interest (edges usually) that cover text,
>>>>>>>> buttons, other bits and pieces). If, for example, all your hardware 
>>>>>>>> was the
>>>>>>>> same as the example you originally posted and only the model number was
>>>>>>>> changing then this would be an issue most likely as the feature 
>>>>>>>> matching
>>>>>>>> may match several targets.
>>>>>>>>
>>>>>>>> Also you mention the tech takes a picture on mobile. Does that need
>>>>>>>> to be looked up immediately? The issue is that feature matching is CPU
>>>>>>>> heavy and can take time on mobile and is a function of the photo
>>>>>>>> resolution. Luckily, feature matching appears to work better on lower
>>>>>>>> resolution images and most of the time works in black and white. Then 
>>>>>>>> there
>>>>>>>> is the potential number of hardware items you are trying to match. The 
>>>>>>>> most
>>>>>>>> advanced mobile augmented reality products (Metaio, Vuforia) that use
>>>>>>>> feature matching only allow up to 100 targets to be "tracked" or 
>>>>>>>> "looked
>>>>>>>> for" at a time - every piece of hardware you are looking for needs to 
>>>>>>>> be
>>>>>>>> compared to the live input camera view (or photo) and this is the part 
>>>>>>>> that
>>>>>>>> hits the CPU hard. If however there was an option to offload the 
>>>>>>>> image(s)
>>>>>>>> to a backend cloud server for feature match or if the tech did not 
>>>>>>>> need an
>>>>>>>> instant or any kind of result in the field, then you are in a better
>>>>>>>> situation as you can stand up serious computing power.
>>>>>>>>
>>>>>>>> It's not easy to recommend one or the other without all the facts -
>>>>>>>> as you begin to mention new things like mobile and techs in the field, 
>>>>>>>> this
>>>>>>>> changes things :) For instance I also used mobile - an Android tablet, 
>>>>>>>> with
>>>>>>>> Open CV and Tesseract OCR - the combination worked in the field - the 
>>>>>>>> tech
>>>>>>>> can position the camera face-on to the model number and take a close 
>>>>>>>> photo.
>>>>>>>> You could even provide a mini App for your techs that has a basic 
>>>>>>>> cropping
>>>>>>>> tool. The technique I used was to show the camera view in my app with a
>>>>>>>> little white transparent box over the camera view that allowed the 
>>>>>>>> user to
>>>>>>>> position the text to fit that white box. Then, when the photo was 
>>>>>>>> taken I
>>>>>>>> simply cropped that white box coordinate rectangle and I had a perfect
>>>>>>>> match. This was easy vs. feature matching :)
>>>>>>>>
>>>>>>>> On Wednesday, 7 January 2015 23:02:09 UTC, newbie wrote:
>>>>>>>>>
>>>>>>>>> Sorry for the barrage here.
>>>>>>>>> The interesting thing is you mentioned feature matching with
>>>>>>>>> openCV(I dont know anything at all about it). But the one thing is I 
>>>>>>>>> can
>>>>>>>>> have a repository of these images with me and I need to match it to 
>>>>>>>>> one of
>>>>>>>>> the user generated image.
>>>>>>>>>
>>>>>>>>> A little background might help. I can(or come up with) have a
>>>>>>>>> repository of all the equipment images with me. A tech might head to 
>>>>>>>>> the
>>>>>>>>> field, take a picture on his mobile device and  I need to match 
>>>>>>>>> it(tech's
>>>>>>>>> picture) against my repository and come up with the model number.
>>>>>>>>>
>>>>>>>>> Is this easier with ocr or feature matching with openCV ?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>> On Wednesday, January 7, 2015 5:35:47 PM UTC-5, newbie wrote:
>>>>>>>>>>
>>>>>>>>>> Thanks Allistair , my lucky day as you have responded to both my
>>>>>>>>>> queries. Let me try to address your questions below and then go 
>>>>>>>>>> ahead with
>>>>>>>>>> a few of my own :-)
>>>>>>>>>>
>>>>>>>>>> *I also meant to ask whether your use case allows for cropping.
>>>>>>>>>> If you know you will have a certain format of image, cropping an 
>>>>>>>>>> area and
>>>>>>>>>> resampling should be easy.*
>>>>>>>>>> Basically the image will be an user generated image, more like
>>>>>>>>>> the first png file, but we could ask the user to zoom in to the model
>>>>>>>>>> number, if that would help us indentify the model number.we could do
>>>>>>>>>> anything with the image(cropping ,resampling etc). But the problem 
>>>>>>>>>> is the
>>>>>>>>>> model number probably will not be located at the same place for all
>>>>>>>>>> equipments.
>>>>>>>>>>
>>>>>>>>>> 2. Preprocessing - as it should be programatically done would I
>>>>>>>>>> be using opencv in conjunction with tesseract? I did not see much in
>>>>>>>>>> tesseract for image processing(I could be totally off).
>>>>>>>>>> 3.*.I also use psm 6 for these types of image with various text
>>>>>>>>>> locations.*
>>>>>>>>>>    what is this ?
>>>>>>>>>>
>>>>>>>>>> Another thing I probably can come up with is all the model #s or
>>>>>>>>>> images of all potential equipments, so I have repository to match 
>>>>>>>>>> against.
>>>>>>>>>> Would that help in any way ?
>>>>>>>>>>
>>>>>>>>>> Thanks again for taking the time to respond. Appreciate it.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wednesday, January 7, 2015 4:44:47 PM UTC-5, Allistair C wrote:
>>>>>>>>>>>
>>>>>>>>>>> I also meant to ask whether your use case allows for cropping.
>>>>>>>>>>> If you know you will have a certain format of image, cropping an 
>>>>>>>>>>> area and
>>>>>>>>>>> resampling should be easy. You could also do some preprocessing 
>>>>>>>>>>> that looks
>>>>>>>>>>> for certain icons in your image to get some context as to where the 
>>>>>>>>>>> model
>>>>>>>>>>> number is likely to be (see feature matching on Open CV). However, 
>>>>>>>>>>> I would
>>>>>>>>>>> need to know more about your use case.
>>>>>>>>>>>
>>>>>>>>>>> That said, resampling your full image to 3000px wide yielded a
>>>>>>>>>>> result with a full model number but the more you can crop the area 
>>>>>>>>>>> the
>>>>>>>>>>> better the result:
>>>>>>>>>>>
>>>>>>>>>>> AT&T U verse ‘ §
>>>>>>>>>>> LINK HD nzc ,
>>>>>>>>>>> rowzn Q I ‘ .» . ‘ nsuu 4 0|: > I
>>>>>>>>>>> / sj J \
>>>>>>>>>>> VIP2500 °%' 7 A R R I s
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 7 January 2015 at 21:39, Allistair <[email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> A common technique is to pre-process your input image.
>>>>>>>>>>>>
>>>>>>>>>>>> Resizing produced good results.I also use psm 6 for these types
>>>>>>>>>>>> of image with various text locations.
>>>>>>>>>>>>
>>>>>>>>>>>> In this case I first used your cropped image:
>>>>>>>>>>>>
>>>>>>>>>>>> tesseract ArrisVIP2500_cropped.png out -l eng -psm 6 config
>>>>>>>>>>>>
>>>>>>>>>>>> and got:
>>>>>>>>>>>>
>>>>>>>>>>>> AT&T U verse
>>>>>>>>>>>> rowsn
>>>>>>>>>>>> O F3.
>>>>>>>>>>>> vrrzsoo ’e'
>>>>>>>>>>>>
>>>>>>>>>>>> Then I resampled your image to 2000px wide:
>>>>>>>>>>>>
>>>>>>>>>>>> tesseract ArrisVIP2500_cropped_2000.png out2000 -l eng -psm 6
>>>>>>>>>>>> config
>>>>>>>>>>>>
>>>>>>>>>>>> and got:
>>>>>>>>>>>>
>>>>>>>>>>>> AT&T U verse
>>>>>>>>>>>> POWER © " ‘|
>>>>>>>>>>>> / ‘j""'j"’..
>>>>>>>>>>>> VIP2500 '%’
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 7 January 2015 at 19:26, newbie <[email protected]>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> I am using tess4j, a java wrapper around tesseract and Here
>>>>>>>>>>>>> are the images and results. The intent is to extract 
>>>>>>>>>>>>> VIP2500(model number)
>>>>>>>>>>>>> from the image. An help is appreciated.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Attached are the original png  file (
>>>>>>>>>>>>> ArrisVIP2500.png),binarized file(ArrisVIP2500_bin.TIF) and then a 
>>>>>>>>>>>>> zoomed
>>>>>>>>>>>>> and cropped file(ArrisVIP2500_cropped.png).
>>>>>>>>>>>>>
>>>>>>>>>>>>> *ArrisVIP2500.png*
>>>>>>>>>>>>>
>>>>>>>>>>>>>  é ATE-T U-verse
>>>>>>>>>>>>>
>>>>>>>>>>>>> rowan 0
>>>>>>>>>>>>> /
>>>>>>>>>>>>>
>>>>>>>>>>>>> *ArrisVIP2500_bin.TIF*
>>>>>>>>>>>>>
>>>>>>>>>>>>> AT&T U-verse
>>>>>>>>>>>>>
>>>>>>>>>>>>> rowan <3 3
>>>>>>>>>>>>> / --
>>>>>>>>>>>>>
>>>>>>>>>>>>> vxvzsoo ‘Q’
>>>>>>>>>>>>>
>>>>>>>>>>>>> *ArrisVIP2500_cropped.png*
>>>>>>>>>>>>>
>>>>>>>>>>>>> ATE-T U-verse
>>>>>>>>>>>>>
>>>>>>>>>>>>> rowsn Q
>>>>>>>>>>>>>
>>>>>>>>>>>>> VIPZSOO ‘e’                      This looks the closest to
>>>>>>>>>>>>> VIP2500 , I need to get tess4j to reconginze digits, that said, 
>>>>>>>>>>>>> this might
>>>>>>>>>>>>> not be a realistic scenario, as someone/something
>>>>>>>>>>>>>
>>>>>>>>>>>>>                                            Needs to zoom and
>>>>>>>>>>>>> crop the image before hand(preprocessing).
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>> Google Groups "tesseract-ocr" group.
>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>>>> [email protected].
>>>>>>>>>>>>> Visit this group at http://groups.google.com/group
>>>>>>>>>>>>> /tesseract-ocr.
>>>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>>>> https://groups.google.com/d/msgid/tesseract-ocr/009ffbc7-90c
>>>>>>>>>>>>> c-417a-90c8-b4ac9b5bb203%40googlegroups.com
>>>>>>>>>>>>> <https://groups.google.com/d/msgid/tesseract-ocr/009ffbc7-90cc-417a-90c8-b4ac9b5bb203%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>> .
>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "tesseract-ocr" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To post to this group, send email to [email protected].
>>>>>>> Visit this group at http://groups.google.com/group/tesseract-ocr.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/tesseract-ocr/e6bd4bf6-ad6
>>>>>>> e-4bef-bff7-6397c924f42b%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/tesseract-ocr/e6bd4bf6-ad6e-4bef-bff7-6397c924f42b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "tesseract-ocr" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at http://groups.google.com/group/tesseract-ocr.
>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>> msgid/tesseract-ocr/34aadbd6-f211-4ef6-87ac-fd6359c16be0%40goo
>>>>> glegroups.com
>>>>> <https://groups.google.com/d/msgid/tesseract-ocr/34aadbd6-f211-4ef6-87ac-fd6359c16be0%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "tesseract-ocr" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/tesseract-ocr.
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/tesseract-ocr/222e8ac2-66af-490a-bb37-95659759bc43%
>>> 40googlegroups.com
>>> <https://groups.google.com/d/msgid/tesseract-ocr/222e8ac2-66af-490a-bb37-95659759bc43%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "tesseract-ocr" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/tesseract-ocr.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tesseract-ocr/4d56feee-ded0-4c57-8b4e-c4ff5a20af85%40googlegroups.com
> <https://groups.google.com/d/msgid/tesseract-ocr/4d56feee-ded0-4c57-8b4e-c4ff5a20af85%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tesseract-ocr.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tesseract-ocr/CAORW5vjJ6bSFpR-tmwGJ8LK%2Be0F%2BLY_2YxxrjWY4m8xe5%2BouHg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to