hi.. In your description for the second step you forgot to add "conda"... it should be $ conda activate env_easyocr . Thank you for the video, it was helpful..
Thank you for the video. Very useful. One question how can i export the result to excel the final output ? especially for the invoice extraction. thanks
thank u for the tuto but the problem is the errors after extraction the text , i tested both pytesseract and easyocr and both make errors , so i thought that preprocessing step is important so i applied thresh , filters ... but none has given an enhancement , Do you have any tips please !
I am facing following issue with the Reader module of easyocr. Can you please help me out. I am running it locally [AttributeError: module 'easyocr' has no attribute 'Reader'] Can you please help me. Following is my code. import easyocr reader = easyocr.Reader(['ch_sim', 'en']) result = reader.readtext('/test.jpg') print(result)
Hi Hassan, Pleases add gpu=Flase/True like this reader = easyocr.Reader(['th','en'], gpu = False). If it still didn't work then use first uninstall easyocr and pip install easyocr==1.1
Good question. EasyOCR used RNN LSTM based seq to seq model for arranging the words so we don’t need to recognise a single character. Because for us whole word important otherwise we have yo manually arrange them. But here easyocr does the job for. We just need to put for loop and thats it. Like in the last cell of the video i have shown.
Oh got it, you want further text generation task on the basis of characters. So i think you can put a for loop again till word.length and these characters will work as a input for RNN family models. If m getting your question correct.
Have you preprocess the data before fitting to the model or raw data are directly implemented into Bidirectional LSTM network? If yes what are the steps you followed for that?? Do you have any validation test to those results???
Hi, we always have to preprocess the text data as machine don’t understand raw input in natural language. We have word embeddings for that. U can use tfid w2v avg w2v glove or SOTA is BERT.
How do I use the GPU? I want to get a boost in speed. When I don't write gpu = false, I get the error "CUDA not available - defaulting to CPU. Note: This module is much faster with a GPU." How to solve it?
Setup and overview - 0 - 9:30 mins Actual implementation starts from 9:30 mins. This is just an implementation video. I am not doing any kind of benchmarking here. github full source code - github.com/AndroidArena/EasyOCR
if we want to extract only invoice no , phone number, address and name only in the document, from this we can extract all texts and bboxes . So now what should we do to detect these part only?
There are two approaches to this. 1. There is a parameter blacklist and whitelist to extract method. Explore it and put the values which you don’t want to extract or leave. 2. Upon extracting all the data u can put it inside regex pattern/if else condition block then you will be able to get your data. Like there should be a regex for mobile no. Validation or regex for address and regex for indian names etc. After validation through regex you will het ur desire results.
@@dineshraturi hi Dinesh...thanks a lot for ur suggestions I also needed the same...if possible,can u help me in thic code for the regex pattern/if else condition block
@@dineshraturi HI Dinesh, thank you for the code and explanation. I have got this assignment for data science position and I am struggling to export this data into csv. Can you please help
when i am trying to run the reader = easyocr.Reader(['en'], gpu = False),i am ending up with an error HTTP Error 403: Forbidden...i tried in Firefox and chrome as well.No use..I am getting the same error.Can you please help me how to solve it
Tq u very much bro Nice explanation. Please continue a series of videos on OCR
Yes sure. Thank you. Plz share the channel across your friends. 🤟 it will help me for sure.
@@dineshraturi sure Bro
Thanks Dinesh Raturi. Much appreciated for sharing with the community :-)
Glad you liked it.
hi.. In your description for the second step you forgot to add "conda"... it should be $ conda activate env_easyocr . Thank you for the video, it was helpful..
Thanks IRON MAN 👨 Thanks for saving the universe 😛😉
Thanks sir.helped me alot. Plz start NLP series soon.
I am unable to install the package of "pip install easy ocr". Please advise @Dinesh Raturi
Thank you for the video. Very useful. One question how can i export the result to excel the final output ? especially for the invoice extraction. thanks
output is in the form of array , now u can create a dataframe from this array by making it numpy.array an put it inside excel.
thank u for the tuto but the problem is the errors after extraction the text , i tested both pytesseract and easyocr and both make errors , so i thought that preprocessing step is important so i applied thresh , filters ... but none has given an enhancement , Do you have any tips please !
Thanks for the video. How can you correct the bounding boxes?
Thanks bro it's very useful 👍
I am facing following issue with the Reader module of easyocr. Can you please help me out. I am running it locally
[AttributeError: module 'easyocr' has no attribute 'Reader']
Can you please help me.
Following is my code.
import easyocr
reader = easyocr.Reader(['ch_sim', 'en'])
result = reader.readtext('/test.jpg')
print(result)
Hi Hassan, Pleases add gpu=Flase/True like this reader = easyocr.Reader(['th','en'], gpu = False). If it still didn't work then use first uninstall easyocr and pip install easyocr==1.1
how to save bounds into csv, xml or json?
Tq u bro
nice explanation. but how can you separate individual character and numbers after finding the words.
Good question.
EasyOCR used RNN LSTM based seq to seq model for arranging the words so we don’t need to recognise a single character.
Because for us whole word important otherwise we have yo manually arrange them. But here easyocr does the job for. We just need to put for loop and thats it. Like in the last cell of the video i have shown.
That's fine.... But can you recognize each character in the word so they may be used for construction of other word prediction related to that text
Oh got it, you want further text generation task on the basis of characters.
So i think you can put a for loop again till word.length and these characters will work as a input for RNN family models.
If m getting your question correct.
Have you preprocess the data before fitting to the model or raw data are directly implemented into Bidirectional LSTM network? If yes what are the steps you followed for that?? Do you have any validation test to those results???
Hi, we always have to preprocess the text data as machine don’t understand raw input in natural language.
We have word embeddings for that. U can use tfid w2v avg w2v glove or SOTA is BERT.
Im really confused in 8:30 where did you get that? u didnt mention that in preparation
It was just a anaconda jupyter notebook steps. We need to open jupyter notebook
How do I use the GPU? I want to get a boost in speed.
When I don't write gpu = false, I get the error "CUDA not available - defaulting to CPU. Note: This module is much faster with a GPU." How to solve it?
import easyocr throws error- The kernel appears to have died. It will restart automatically
Ohh i need to check. This is something new error came into the picture.
Thanks for this content.. Can you also show how to tabulate the extracted data in a proper structure like in tabular form?
It shows an error 'ValueError: source code string cannot contain null bytes' and points out to the easyocr files
Does we have to download model everytime when we run the script or can we save it.
You can save it
How can we load it from memory then beacause I have tried running easyocr.Reader(["en"],gpu= False)
again it is getting downloaded.
Hi,
Thanks for video. I try it on hand written bank from its work fine but can't read hand written word... How to solve the problem.
Use tesseract library once
Setup and overview - 0 - 9:30 mins
Actual implementation starts from 9:30 mins.
This is just an implementation video. I am not doing any kind of benchmarking here.
github full source code - github.com/AndroidArena/EasyOCR
6th cell
I am getting error bro
error: Unknown c++ exception from opencv code
Can we extract text from specific point of location?
you will find an array as a result, then locate it from there.
@@dineshraturi how to do that?
Check the output it is giving u array from there you can find the specificlocation
if we want to extract only invoice no , phone number, address and name only in the document, from this we can extract all texts and bboxes . So now what should we do to detect these part only?
There are two approaches to this.
1. There is a parameter blacklist and whitelist to extract method. Explore it and put the values which you don’t want to extract or leave.
2. Upon extracting all the data u can
put it inside regex pattern/if else condition block then you will be able to get your data.
Like there should be a regex for mobile no. Validation or regex for address and regex for indian names etc.
After validation through regex you will het ur desire results.
@@dineshraturi hi Dinesh...thanks a lot for ur suggestions I also needed the same...if possible,can u help me in thic code for the regex pattern/if else condition block
@@dineshraturi I also need ur help with this code..please help
@@dineshraturi HI Dinesh, thank you for the code and explanation. I have got this assignment for data science position and I am struggling to export this data into csv. Can you please help
when i am trying to run the reader = easyocr.Reader(['en'], gpu = False),i am ending up with an error HTTP Error 403: Forbidden...i tried in Firefox and chrome as well.No use..I am getting the same error.Can you please help me how to solve it
Try this -
reader = easyocr.Reader(['ch_sim','en'])
# need to run only once to load model into memory
@@dineshraturi Will try and let u know.thanks for reply.
It's not working dinesh.I am facing the same issue.Please help me to sort it out.
Ok allow me sometime i will. Check it again.
@@dineshraturi thank you.
Could you please provide the steps to install easyocr on pycharm
Steps will remain the same.
He'll bro i need some help for my project
i have a doubt?
yes pls
Wheres the invoice part??
After simple image i have took invoice image. Kindly watch whole video and ask if you got stuck :)
Hi. Can you make a video of same for android.
we have to use firebase MLKIT for that. its easy .
Is that voor pdf to text? Thanks
While making the video it won’t . But plz visit its github to see its latest development.
issue fter issue error after error