Hi Ayush,
psm 6 and 7 do some extra pre-processing of the image, 13 does much less.

Unless your image contains text like this:

----
====
....

I would not expect much difference between PSM 6/7 and 13. While PSM 13
solves some problems I got more "ghost letters" errors (letters that are
repeated more than once or split in similar variations, like O becoming
O0). So this may not be an ideal solution.

Also there is no reason why a clean single line of text should not work
with 6 or 7.

For some single line images with messy background I found that PSM 6 works
better than 7.


Lorenzo

Il giorno ven 6 set 2019 alle ore 11:04 Ayush Pandey <xapianay...@gmail.com>
ha scritto:

> Hi Lorenzo. The empty output was due to the fact that I was using 7 as PSM
> parameter. Using 13 as PSM parameter completely eliminated the problem.
>
> On Friday, September 6, 2019 at 12:34:22 PM UTC+5:30, Lorenzo Blz wrote:
>>
>> Can you please share an example?
>>
>> An empty output usually means that it failed to recognize the black parts
>> as text, this could be because the text is too big or too small or a wrong
>> dpi setting. Or the image is not reasonably clean.
>>
>> To better understand the problem you can try to downscale the images
>> (according to some tests done by a user on this forum 35/50px is what
>> worked best for him), try different dpi settings, remove borders, denoise,
>> etc. Compare images that work with the ones who do not.
>>
>>
>>
>> Lorenzo
>>
>>
>>
>>
>>
>>
>> Il giorno gio 5 set 2019 alle ore 10:48 Ayush Pandey <xapia...@gmail.com>
>> ha scritto:
>>
>>> Hi shree,
>>>              Thank you so much for your response. I also wanted to ask,
>>> I do get an empty output on a lot of images, after training, the height and
>>> width of the image in pixels is usually > 100. Apart from changing the psm
>>> value, is there any other way to reduce this.
>>>
>>> On Thursday, September 5, 2019 at 2:00:20 PM UTC+5:30, shree wrote:
>>>>
>>>> See
>>>> https://github.com/tesseract-ocr/tesstrain/wiki/GT4HistOCR#tesseract-fails-to-create-lstm-files
>>>>
>>>> On Thu, Sep 5, 2019 at 1:25 PM Ayush Pandey <xapia...@gmail.com> wrote:
>>>>
>>>>> Tesseract Version: 4.1.0
>>>>>
>>>>> I am trying to fine tune tesseract on custom dataset with the
>>>>> following Makefile:
>>>>>
>>>>> export
>>>>>
>>>>> SHELL := /bin/bash
>>>>> HOME := $(PWD)
>>>>> TESSDATA = $(HOME)/tessdata
>>>>> LANGDATA = $(HOME)/langdata
>>>>>
>>>>> # Train directory
>>>>> # TRAIN := $(HOME)/train_data
>>>>> TRAIN := /media/vimaan/Data/OCR/tesseract_train
>>>>>
>>>>> # Name of the model to be built
>>>>> MODEL_NAME = eng
>>>>> LANG_CODE = eng
>>>>>
>>>>> # Name of the model to continue from
>>>>> CONTINUE_FROM = eng
>>>>>
>>>>> TESSDATA_REPO = _best
>>>>>
>>>>> # Normalization Mode - see src/training/language_specific.sh for details
>>>>> NORM_MODE = 1
>>>>>
>>>>> # BEGIN-EVAL makefile-parser --make-help Makefile
>>>>>
>>>>> help:
>>>>>   @echo ""
>>>>>   @echo "  Targets"
>>>>>   @echo ""
>>>>>   @echo "    unicharset       Create unicharset"
>>>>>   @echo "    lists            Create lists of lstmf filenames for 
>>>>> training and eval"
>>>>>   @echo "    training         Start training"
>>>>>   @echo "    proto-model      Build the proto model"
>>>>>   @echo "    leptonica        Build leptonica"
>>>>>   @echo "    tesseract        Build tesseract"
>>>>>   @echo "    tesseract-langs  Download tesseract-langs"
>>>>>   @echo "    langdata         Download langdata"
>>>>>   @echo "    clean            Clean all generated files"
>>>>>   @echo ""
>>>>>   @echo "  Variables"
>>>>>   @echo ""
>>>>>   @echo "    MODEL_NAME         Name of the model to be built"
>>>>>   @echo "    CORES              No of cores to use for compiling 
>>>>> leptonica/tesseract"
>>>>>   @echo "    LEPTONICA_VERSION  Leptonica version. Default: 
>>>>> $(LEPTONICA_VERSION)"
>>>>>   @echo "    TESSERACT_VERSION  Tesseract commit. Default: 
>>>>> $(TESSERACT_VERSION)"
>>>>>   @echo "    LANGDATA_VERSION   Tesseract langdata version. Default: 
>>>>> $(LANGDATA_VERSION)"
>>>>>   @echo "    TESSDATA_REPO      Tesseract model repo to use. Default: 
>>>>> $(TESSDATA_REPO)"
>>>>>   @echo "    TRAIN              Train directory"
>>>>>   @echo "    RATIO_TRAIN        Ratio of train / eval training data"
>>>>>
>>>>> # END-EVAL
>>>>>
>>>>> # Ratio of train / eval training data
>>>>> RATIO_TRAIN := 0.90
>>>>>
>>>>> ALL_BOXES = data/all-boxes
>>>>> ALL_LSTMF = data/all-lstmf
>>>>>
>>>>> # Create unicharset
>>>>> unicharset: data/unicharset
>>>>>
>>>>> # Create lists of lstmf filenames for training and eval
>>>>> #lists: $(ALL_LSTMF) data/list.train data/list.eval
>>>>> lists: $(ALL_LSTMF)
>>>>>
>>>>> train-lists: data/list.train data/list.eval
>>>>>
>>>>> data/list.train: $(ALL_LSTMF)
>>>>>   total=`cat $(ALL_LSTMF) | wc -l` \
>>>>>      no=`echo "$$total * $(RATIO_TRAIN) / 1" | bc`; \
>>>>>      head -n "$$no" $(ALL_LSTMF) > "$@"
>>>>>
>>>>> data/list.eval: $(ALL_LSTMF)
>>>>>   total=`cat $(ALL_LSTMF) | wc -l` \
>>>>>      no=`echo "($$total - $$total * $(RATIO_TRAIN)) / 1" | bc`; \
>>>>>      tail -n "$$no" $(ALL_LSTMF) > "$@"
>>>>>
>>>>> # Start training
>>>>> training: data/$(MODEL_NAME).traineddata
>>>>>
>>>>> data/unicharset: $(ALL_BOXES)
>>>>>   mkdir -p data/$(START_MODEL)
>>>>>   combine_tessdata -u $(TESSDATA)/$(CONTINUE_FROM).traineddata  
>>>>> $(TESSDATA)/$(CONTINUE_FROM).
>>>>>   unicharset_extractor --output_unicharset "$(TRAIN)/my.unicharset" 
>>>>> --norm_mode $(NORM_MODE) "$(ALL_BOXES)"
>>>>>   #merge_unicharsets data/$(START_MODEL)/$(START_MODEL).lstm-unicharset 
>>>>> $(GROUND_TRUTH_DIR)/my.unicharset  "$@"
>>>>>   merge_unicharsets $(TESSDATA)/$(CONTINUE_FROM).lstm-unicharset 
>>>>> $(TRAIN)/my.unicharset  "$@"
>>>>>   
>>>>> $(ALL_BOXES): $(sort $(patsubst %.tif,%.box,$(wildcard $(TRAIN)/*.tif)))
>>>>>   find $(TRAIN) -name '*.box' -exec cat {} \; > "$@"
>>>>>   
>>>>> $(TRAIN)/%.box: $(TRAIN)/%.tif $(TRAIN)/%.gt.txt
>>>>>   python generate_line_box.py -i "$(TRAIN)/$*.tif" -t 
>>>>> "$(TRAIN)/$*.gt.txt" > "$@"
>>>>>
>>>>> $(ALL_LSTMF): $(sort $(patsubst %.tif,%.lstmf,$(wildcard $(TRAIN)/*.tif)))
>>>>>   find $(TRAIN) -name '*.lstmf' -exec echo {} \; | sort -R -o "$@"
>>>>>
>>>>> $(TRAIN)/%.lstmf: $(TRAIN)/%.box
>>>>>   tesseract $(TRAIN)/$*.tif $(TRAIN)/$* --dpi 300 --psm 7 lstm.train
>>>>>   
>>>>>
>>>>> # Build the proto model
>>>>> proto-model: data/$(MODEL_NAME)/$(MODEL_NAME).traineddata
>>>>>
>>>>> data/$(MODEL_NAME)/$(MODEL_NAME).traineddata: $(LANGDATA) data/unicharset
>>>>>   combine_lang_model \
>>>>>     --input_unicharset data/unicharset \
>>>>>     --script_dir $(LANGDATA) \
>>>>>     --words $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).wordlist \
>>>>>     --numbers $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).numbers \
>>>>>     --puncs $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).punc \
>>>>>     --output_dir data/ \
>>>>>     --lang $(MODEL_NAME)
>>>>>
>>>>> data/checkpoints/$(MODEL_NAME)_checkpoint: unicharset proto-model
>>>>>   mkdir -p data/checkpoints
>>>>>   lstmtraining \
>>>>>     --continue_from   $(TESSDATA)/$(CONTINUE_FROM).lstm \
>>>>>     --old_traineddata $(TESSDATA)/$(CONTINUE_FROM).traineddata \
>>>>>     --traineddata data/$(MODEL_NAME)/$(MODEL_NAME).traineddata \
>>>>>     --model_output data/checkpoints/$(MODEL_NAME) \
>>>>>     --debug_interval -1 \
>>>>>     --train_listfile data/list.train \
>>>>>     --eval_listfile data/list.eval \
>>>>>     --sequential_training \
>>>>>     --max_iterations 170000
>>>>>
>>>>> data/$(MODEL_NAME).traineddata: data/checkpoints/$(MODEL_NAME)_checkpoint
>>>>>   lstmtraining \
>>>>>   --stop_training \
>>>>>   --continue_from $^ \
>>>>>   --old_traineddata $(TESSDATA)/$(CONTINUE_FROM).traineddata \
>>>>>   --traineddata data/$(MODEL_NAME)/$(MODEL_NAME).traineddata \
>>>>>   --model_output $@
>>>>>
>>>>> # Clean all generated files
>>>>> clean:
>>>>>   find data/train -name '*.box' -delete
>>>>>   find data/train -name '*.lstmf' -delete
>>>>>   rm -rf data/all-*
>>>>>   rm -rf data/list.*
>>>>>   rm -rf data/$(MODEL_NAME)
>>>>>   rm -rf data/unicharset
>>>>>   rm -rf data/checkpoints
>>>>>
>>>>> The number of .lstmf files being generated is significantly lower than
>>>>> .box files being generated.
>>>>> For eg:
>>>>> Number of .tif files: 10k
>>>>> Number of .gt.txt files: 10k
>>>>> Number of .box files: 10k
>>>>> Number of .lstmf files: 8k.
>>>>> Could anyone point me out to the possible reasons for this issue
>>>>>
>>>>> On Friday, June 29, 2018 at 5:39:09 PM UTC+5:30, shree wrote:
>>>>>>
>>>>>> I modified the makefile for ocrd-train to do fine-tuning.  It is
>>>>>> pasted below:
>>>>>>
>>>>>> export
>>>>>>
>>>>>> SHELL := /bin/bash
>>>>>> LOCAL := $(PWD)/usr
>>>>>> PATH := $(LOCAL)/bin:$(PATH)
>>>>>> HOME := /home/ubuntu
>>>>>> TESSDATA =  $(HOME)/tessdata_best
>>>>>> LANGDATA = $(HOME)/langdata
>>>>>>
>>>>>> # Name of the model to be built
>>>>>> MODEL_NAME = frk
>>>>>>
>>>>>> # Name of the model to continue from
>>>>>> CONTINUE_FROM = frk
>>>>>>
>>>>>> # Normalization Mode - see src/training/language_specific.sh for
>>>>>> details
>>>>>> NORM_MODE = 2
>>>>>>
>>>>>> # Tesseract model repo to use. Default: $(TESSDATA_REPO)
>>>>>> TESSDATA_REPO = _best
>>>>>>
>>>>>> # Train directory
>>>>>> TRAIN := data/train
>>>>>>
>>>>>> # BEGIN-EVAL makefile-parser --make-help Makefile
>>>>>>
>>>>>> help:
>>>>>> @echo ""
>>>>>> @echo "  Targets"
>>>>>> @echo ""
>>>>>> @echo "    unicharset       Create unicharset"
>>>>>> @echo "    lists            Create lists of lstmf filenames for
>>>>>> training and eval"
>>>>>> @echo "    training         Start training"
>>>>>> @echo "    proto-model      Build the proto model"
>>>>>> @echo "    leptonica        Build leptonica"
>>>>>> @echo "    tesseract        Build tesseract"
>>>>>> @echo "    tesseract-langs  Download tesseract-langs"
>>>>>> @echo "    langdata         Download langdata"
>>>>>> @echo "    clean            Clean all generated files"
>>>>>> @echo ""
>>>>>> @echo "  Variables"
>>>>>> @echo ""
>>>>>> @echo "    MODEL_NAME         Name of the model to be built"
>>>>>> @echo "    CORES              No of cores to use for compiling
>>>>>> leptonica/tesseract"
>>>>>> @echo "    LEPTONICA_VERSION  Leptonica version. Default:
>>>>>> $(LEPTONICA_VERSION)"
>>>>>> @echo "    TESSERACT_VERSION  Tesseract commit. Default:
>>>>>> $(TESSERACT_VERSION)"
>>>>>> @echo "    LANGDATA_VERSION   Tesseract langdata version. Default:
>>>>>> $(LANGDATA_VERSION)"
>>>>>> @echo "    TESSDATA_REPO      Tesseract model repo to use. Default:
>>>>>> $(TESSDATA_REPO)"
>>>>>> @echo "    TRAIN              Train directory"
>>>>>> @echo "    RATIO_TRAIN        Ratio of train / eval training data"
>>>>>>
>>>>>> # END-EVAL
>>>>>>
>>>>>> # Ratio of train / eval training data
>>>>>> RATIO_TRAIN := 0.90
>>>>>>
>>>>>> ALL_BOXES = data/all-boxes
>>>>>> ALL_LSTMF = data/all-lstmf
>>>>>>
>>>>>> # Create unicharset
>>>>>> unicharset: data/unicharset
>>>>>>
>>>>>> # Create lists of lstmf filenames for training and eval
>>>>>> lists: $(ALL_LSTMF) data/list.train data/list.eval
>>>>>>
>>>>>> data/list.train: $(ALL_LSTMF)
>>>>>> total=`cat $(ALL_LSTMF) | wc -l` \
>>>>>>    no=`echo "$$total * $(RATIO_TRAIN) / 1" | bc`; \
>>>>>>    head -n "$$no" $(ALL_LSTMF) > "$@"
>>>>>>
>>>>>> data/list.eval: $(ALL_LSTMF)
>>>>>> total=`cat $(ALL_LSTMF) | wc -l` \
>>>>>>    no=`echo "($$total - $$total * $(RATIO_TRAIN)) / 1" | bc`; \
>>>>>>    tail -n "+$$no" $(ALL_LSTMF) > "$@"
>>>>>>
>>>>>> # Start training
>>>>>> training: data/$(MODEL_NAME).traineddata
>>>>>>
>>>>>> data/unicharset: $(ALL_BOXES)
>>>>>> combine_tessdata -u $(TESSDATA)/$(CONTINUE_FROM).traineddata
>>>>>> $(TESSDATA)/$(CONTINUE_FROM).
>>>>>> unicharset_extractor --output_unicharset "$(TRAIN)/my.unicharset"
>>>>>> --norm_mode $(NORM_MODE) "$(ALL_BOXES)"
>>>>>> merge_unicharsets $(TESSDATA)/$(CONTINUE_FROM).lstm-unicharset
>>>>>> $(TRAIN)/my.unicharset  "$@"
>>>>>> $(ALL_BOXES): $(sort $(patsubst %.tif,%.box,$(wildcard
>>>>>> $(TRAIN)/*.tif)))
>>>>>> find $(TRAIN) -name '*.box' -exec cat {} \; > "$@"
>>>>>> $(TRAIN)/%.box: $(TRAIN)/%.tif $(TRAIN)/%-gt.txt
>>>>>> python generate_line_box.py -i "$(TRAIN)/$*.tif" -t
>>>>>> "$(TRAIN)/$*-gt.txt" > "$@"
>>>>>>
>>>>>> $(ALL_LSTMF): $(sort $(patsubst %.tif,%.lstmf,$(wildcard
>>>>>> $(TRAIN)/*.tif)))
>>>>>> find $(TRAIN) -name '*.lstmf' -exec echo {} \; | sort -R -o "$@"
>>>>>>
>>>>>> $(TRAIN)/%.lstmf: $(TRAIN)/%.box
>>>>>> tesseract $(TRAIN)/$*.tif $(TRAIN)/$*   --psm 6 lstm.train
>>>>>>
>>>>>> # Build the proto model
>>>>>> proto-model: data/$(MODEL_NAME)/$(MODEL_NAME).traineddata
>>>>>>
>>>>>> data/$(MODEL_NAME)/$(MODEL_NAME).traineddata: $(LANGDATA)
>>>>>> data/unicharset
>>>>>> combine_lang_model \
>>>>>>   --input_unicharset data/unicharset \
>>>>>>   --script_dir $(LANGDATA) \
>>>>>>   --words $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).wordlist \
>>>>>>   --numbers $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).numbers \
>>>>>>   --puncs $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).punc \
>>>>>>   --output_dir data/ \
>>>>>>   --lang $(MODEL_NAME)
>>>>>>
>>>>>> data/checkpoints/$(MODEL_NAME)_checkpoint: unicharset lists
>>>>>> proto-model
>>>>>> mkdir -p data/checkpoints
>>>>>> lstmtraining \
>>>>>>   --continue_from   $(TESSDATA)/$(CONTINUE_FROM).lstm \
>>>>>>   --old_traineddata $(TESSDATA)/$(CONTINUE_FROM).traineddata \
>>>>>>   --traineddata data/$(MODEL_NAME)/$(MODEL_NAME).traineddata \
>>>>>>   --model_output data/checkpoints/$(MODEL_NAME) \
>>>>>>   --debug_interval -1 \
>>>>>>   --train_listfile data/list.train \
>>>>>>   --eval_listfile data/list.eval \
>>>>>>   --sequential_training \
>>>>>>   --max_iterations 3000
>>>>>>
>>>>>> data/$(MODEL_NAME).traineddata:
>>>>>> data/checkpoints/$(MODEL_NAME)_checkpoint
>>>>>> lstmtraining \
>>>>>> --stop_training \
>>>>>> --continue_from $^ \
>>>>>> --old_traineddata $(TESSDATA)/$(CONTINUE_FROM).traineddata \
>>>>>> --traineddata data/$(MODEL_NAME)/$(MODEL_NAME).traineddata \
>>>>>> --model_output $@
>>>>>>
>>>>>> # Clean all generated files
>>>>>> clean:
>>>>>> find data/train -name '*.box' -delete
>>>>>> find data/train -name '*.lstmf' -delete
>>>>>> rm -rf data/all-*
>>>>>> rm -rf data/list.*
>>>>>> rm -rf data/$(MODEL_NAME)
>>>>>> rm -rf data/unicharset
>>>>>> rm -rf data/checkpoints
>>>>>>
>>>>>> On Fri, Jun 29, 2018 at 5:31 PM Lorenzo Bolzani <l.bo...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> ​​
>>>>>>>
>>>>>>> Hi,
>>>>>>> I'm trying to do fine tuning of an existing model using line images
>>>>>>> and text labels. I'm running this version:
>>>>>>>
>>>>>>> tesseract 4.0.0-beta.3-56-g5fda
>>>>>>>  leptonica-1.76.0
>>>>>>>   libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 :
>>>>>>> libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.4.4 : libopenjp2 2.3.0
>>>>>>>  Found AVX2
>>>>>>>  Found AVX
>>>>>>>  Found SSE
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I used OCR-D to generate lstmf files for the demo data.
>>>>>>>
>>>>>>> If I run the make command it works fine.
>>>>>>>
>>>>>>> make training MODEL_NAME=prova
>>>>>>>
>>>>>>> Now I isolated this command from the build:
>>>>>>>
>>>>>>> lstmtraining \
>>>>>>>   --traineddata data/prova/prova.traineddata \
>>>>>>>   --net_spec "[1,36,0,1 Ct3,3,16 Mp3,3 Lfys48 Lfx96 Lrx96 Lfx256
>>>>>>> O1c`head -n1 data/unicharset`]" \
>>>>>>>   --model_output data/checkpoints/prova \
>>>>>>>   --learning_rate 20e-4 \
>>>>>>>   --train_listfile data/list.train \
>>>>>>>   --eval_listfile data/list.eval \
>>>>>>>   --max_iterations 10000
>>>>>>>
>>>>>>> and it works fine.
>>>>>>>
>>>>>>> Now I'm trying to modify it to fine tune the existing eng model. I
>>>>>>> made a few attempts, all ending into different errors (see the attached
>>>>>>> file for full output).
>>>>>>>
>>>>>>> I used:
>>>>>>>
>>>>>>> combine_tessdata -e /usr/local/share/tessdata/eng.traineddata
>>>>>>> extracted/eng.lstm
>>>>>>>
>>>>>>> to extract the eng.lstm model.
>>>>>>>
>>>>>>> This seems to works but I'm not sure it is the correct.
>>>>>>>
>>>>>>> lstmtraining \
>>>>>>>   --continue_from  extracted/eng.lstm \
>>>>>>>   --traineddata data/prova/prova.traineddata \
>>>>>>>   --old_traineddata extracted/eng.traineddata \
>>>>>>>   --model_output data/checkpoints/prova \
>>>>>>>   --learning_rate 20e-4 \
>>>>>>>   --train_listfile data/list.train \
>>>>>>>   --eval_listfile data/list.eval \
>>>>>>>   --max_iterations 10000
>>>>>>>
>>>>>>> (extracted/eng.traineddata is just a copy of eng.traineddata)
>>>>>>>
>>>>>>>
>>>>>>> The training resume exactly with the RMS of prova_checkpoint (6%) so
>>>>>>> it looks like it is training from that checkpoint, not the eng.lstm.
>>>>>>>
>>>>>>> Is this correct? What should I change?
>>>>>>> ​
>>>>>>> I'm following this guide:
>>>>>>>
>>>>>>>
>>>>>>> https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#fine-tuning-for--a-few-characters
>>>>>>>
>>>>>>> ​
>>>>>>> I think continue_from and traineddata should refer to the eng model
>>>>>>> and old_traineddata should point to prova.traineddata, but if I do that 
>>>>>>> I
>>>>>>> get a segmentation fault:
>>>>>>>
>>>>>>> [...]
>>>>>>> !int_mode_:Error:Assert failed:in file weightmatrix.cpp, line 244
>>>>>>> !int_mode_:Error:Assert failed:in file weightmatrix.cpp, line 244
>>>>>>> Segmentation fault
>>>>>>>
>>>>>>> What am I missing?
>>>>>>>
>>>>>>>
>>>>>>> Thanks, bye
>>>>>>>
>>>>>>> Lorenzo
>>>>>>>
>>>>>>> --
>>>>>>> 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 tesser...@googlegroups.com.
>>>>>>> To post to this group, send email to tesser...@googlegroups.com.
>>>>>>> Visit this group at https://groups.google.com/group/tesseract-ocr.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLyOJN31PdWQumXPO3JjuAc1Yz2BZYpMd4ftzBHgZkEaxA%40mail.gmail.com
>>>>>>> <https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLyOJN31PdWQumXPO3JjuAc1Yz2BZYpMd4ftzBHgZkEaxA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> ____________________________________________________________
>>>>>> भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com
>>>>>>
>>>>> --
>>>>> 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 tesser...@googlegroups.com.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/tesseract-ocr/e3ba3b90-a8c8-4085-bec5-cf918034ba2a%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/tesseract-ocr/e3ba3b90-a8c8-4085-bec5-cf918034ba2a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> ____________________________________________________________
>>>> भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com
>>>>
>>> --
>>> 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 tesser...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/tesseract-ocr/91e85125-a9fc-450b-b434-391d2d4bd974%40googlegroups.com
>>> <https://groups.google.com/d/msgid/tesseract-ocr/91e85125-a9fc-450b-b434-391d2d4bd974%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> 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 tesseract-ocr+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tesseract-ocr/3f97c86f-cc85-4ade-9aee-bfe67c43f066%40googlegroups.com
> <https://groups.google.com/d/msgid/tesseract-ocr/3f97c86f-cc85-4ade-9aee-bfe67c43f066%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 tesseract-ocr+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLw%3D9%2BKsYgUekWr6tMcOM8BM-%2BV3dV_6XGHQrS2c7UCCTQ%40mail.gmail.com.

Reply via email to