Task Updates

About Page
You can find task updates here. Every team member posts what they have done in last days.

24/09/2016
Ishan & Gautam: We worked on finding skew angle and tried to deskew image. There are some problems in that, we are trying to solve it. Also made python wrapper for our previous logic of interpolation. With help of this wrapper, output of Test5.png is and other this kind of image is better than output of default tesseract. I have uploaded wrapper file in Github.

23/09/2016
All: We tried various logic on Line projection profile graph for finding coordinates of each lines in image. We come up with algorithm to find lines from gray image. Actually we are using edge detected image in final logic. It works for every kind of images. It fails if there image is skewed. We will work on doing image deskew. Results are updated in  logbook.

31/08/2016
Mitesh: I tried the Gaussian low pass filter for improving broken characters in image. But it didn't worked out. Text file was having much errors in words.

Gautam & Ishan: We tried to understan snake algorithm. I understood how it works but it is hard to implement. Meanwhile, we come up with new solution. As you know, output of image 5 in TestBench was very poor. It is because of poor resolution and broken character in image. We used Bicubic interpolation method so that character can be repaired. Output after interpolation was quite impressive. only five words where wrongly recognized.

28/08/2016
Gautam & Ishan: We tried to look closer to the Problem and found that thresholding is not only reason of poor accuracy of tesseract. Broken characters in the image also reduces accuracy of tesseract. So, we searched for solution of it. We found that, snake algorithm can be used to repair broken characters. We are trying to understand that algorithm. How it works and all. We also tried cropping single word and then gave it to tesseract but it works sometimes and sometimes it don't works. So, we thought we need to look further into problem.

20/08/2016
Gautam: I'm trying to modify previous code to get better result.

18/08/2016
Gautam: I did some experiment on images i obtain in previous experiment of finding average and then making average of each row same. I tried thresholding and it worked fimally. though it needs improvements but it works for most of the images. I have updated logbook with experiment. What I did to get those thresholded images is also explained there.

16/08/2016
Mitesh: I run code of moving average method which Shital mam told us to try. In that method shadow is removed but along with that text in non shadow region is removed. Only text at shadow region is visible.

15/08/2016
Ishan, Gautam: We tried many different operation after finding avarage intensity of each row. Like appliying morphological operations. we tried to find out coordinates of lines by this way. You have suggested to find coordinates from tesseract but tesseract can give coordinates only if image given is well thresholded. otherwise it fails. We tried different approach and those are listed in logbook.

I had asked question on researchgate. here is the link.https://www.researchgate.net/post/How_to_have_uniform_intensity_on_non-uniform_illuminated_image/1

11/08/2016
Mitesh,Ishan & Gautam: We designed a code for finding average intensity of each row. We also plotted the graph for the same. This graph can be useful for detecting text lines in ideal image. But for shadow images this method may not work properly. We tried code for different images and uploaded their results in logbook section. Gautam also worked with github and its procedure.

21/07/2016
Gautam: I learned python with help of Mitesh and from book (read 100 pages). After that I downloaded pytesseract which is available on python website. run example with help of it. After that I opend its code and understood how it actually works. I found that there is some function with help of that, they invoke tesseract in cmd and give command line arguments from python code itself. I'm building that kind of python wrapper for our requirment. I have started making that wrapper. But we can not directly use adaptive thresholding and that image to tesseract for reason, see logbook experiment of today's. We need to first pre-process image before doing adaptive thresholding. Ishan will work on finding that pre-processing and I will work on python wrapper.

Ishan & Mitesh: We studied about object oriented programming in python. We tried to understand it with some basic examples. we also studied how to run code or program using command line argument in python. and we gave 5 different images as input using command line argument for thresholding module.

19/07/2016
Gautam,Ishan & Mitesh: Gautam added opencv as a one project in tesseract and he also pushed that code to github. github link is provided in resources section. Mitesh and I worked with thresholding. we applied both methods otsu and adaptive gaussian for same image in opencv. and also compared tesseract thresholded image for same input image. we uploded all thresholded images in logbook section. we also found one function for time calculation. but we haven't applied that function.

14/07/2016
Gautam: I updated privacy of wiki. now only members of editor group can edit content on wiki. It is also available to public for reading without any login. I pushed code to github. it is just main code in master branch. I made command-line argument for thresholding like "tesseract image.png out thr" will also create thresholding image. If "thr" is not there in command then it will not create. I have pushed this code in brach name "tesseract thresholding".

Mitesh & Ishan: We found out module for adaptive gaussian thresholding in opencv-python. and we ran that code in opencv-python with different input images and we got much better output of thresholded image compare to otsu thrsholding.

12/07/2016
Gautam: I experimented on Gujarati image. Boxing on gujarati image is also good but sometimes tesseract is not detecting upper modifiers so that it doesn't incluse that in boxes. however it happens for few times only. I tried to push our code to Github but everytime i got error like "permission denied (publickey). I tried to find out solution for it but it didn't help. I requested to make our wiki readable to public without sign up or without being member of wiki.

Mitesh: I was not able to install opencv with python. Don't know some error is coming. I took help of Ishan and still working on it.I found that adaptive thresholding is better than normal thresholding. I got this info from Shital mam's papers. And then I put question on google groups to improve thresholding. I got the same answer.He provided link in which the code was there for doing all type of thresholding and their comparision was given with output image.I haven't run the program becoz of this installation problem.I have started studying about wrapper function.

Ishan: I helped mitesh to solve error in installing opencv-python. By all experiment which we performed till now, we can say that main problem arise due to the step of binarization(thresholding). In current version of tesseract which we are using, it consist otsu method for thresholding by default. but otsu thrsholding is not much effective when input image is not ideal or combination of text and graphics. i tried to find out adaptive gaussian thresholdig method for tesseract but i did not get much effective result. but i found out adaptive thresholding module for opencv which we can use if we want.

04/07/2016
Gautam & Ishan: We already had way to get co-ordinates of regions, lines and words in tesseract using tesseract functions. We integrated OpenCV with tesseract and used functions of opencv to draw rectangular boxes on image at co-ordinates obtained from tesseract. This experiment can be found at logbook. We have also added how to achieve it in How to section.

Mitesh: I copmpleted with python. I tried to install opencv with python but some error was coming. Also tried some images for thresholding.

29/06/2016
Gautam: I updated Logbook for experiments that we have done. I found that there is one configuration named hocr which outputs xml file which contains co-ordinates and all information of page layout analysis. With help of tool PAGEViewerWindows_1.1 we can draw boxes on input image. I have updated this experiment on "logbook". And also on "How to" section.

Mitesh: I continued with python. Since I was not well yesterday I couldn't cover much.I have completed 3 more chapters i.e. problem solvings,oop,input-output. I get stucked in problem solvings.

Ishan: I tried to draw boxes on text in images using c++ code for opencv. but when i ran that code i did not get output because it throwed an exception for one function. i found out that code in this page : http://stackoverflow.com/questions/23506105/extracting-text-opencv In this page there are two different methods for detecting text. i tried both methods for different different images but in both methods i got an exception handling problem.

27/06/2016
Gautam: I finished my Coursera work and created new repo for our Project. I searched for function to draw box on image using box file. I succeedto get box file but couldn't figure out how to draw box on image.

Ishan: i didn't get much time in last two days. i finished my coursera week4 and i tried to find out code or module which perform text detection from image means build blocks around text. and i ran that code but i got one error which i couldn't figure out till now so i need more time.

Mitesh: I did coursera and continued with python.I have completed 30 more pages from the book i.e completed upto data data structures.

25/06/2016
Gautam: I worked on this project wiki to give it proper shape and create every needed page. Learnt syntax for wiki. One thing I couldn't figure  out that how to create templates for wiki. As HTML eats extra spaces, I wanted to create template that can add extra spaces. I need help with that.

Ishan: I worked with opencv. i tried to understand basic functionality of opencv. i installed opencv 3.00 version and then cofigured it with visual studio 2013. useful link for configuration of opencv with visual studio :-http://opencv-srf.blogspot.in/2013/05/installing-configuring-opencv-with-vs.html?m=1

Then i tried to read & display image with opencv and i succeeded to read and display images with using c++ code in visual studio. I tried different different grayscale and color images both. i got successful output in all images.useful link for read and disply image :- http://opencv-srf.blogspot.in/2013/06/load-display-image.html?m=1

Mitesh:I started learning python.I refered the book A Byte of Python by Swaroopch. I installed python3.5 version and runned some basic examples explained in the book. I used notepad++ editor to write a code. I have completed about 60 pages of the book.