The problem is all the images I have seem to be 96dpi, I dont know what would the height in pts(corresponding to >10pt for 300 dpi) be for the ocr to accurately detect. Even the upscaled images are in 96 dpi. Any solutions ?
On Tuesday, January 13, 2015 at 5:39:02 PM UTC-5, Allistair C wrote: > > 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] <javascript:>> > 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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> 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/ebcefab6-0229-4763-acf7-c16656f4cd95%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

