code for horizontal projection profile of an image
이전 댓글 표시
hello friends, to perform skew detection and correction, iam using horizontal projection profile. so i need the code for horizontal projection profile to segment lines and i need the code for horizontal projection profile of each word, for image containing handwritten characters.
댓글 수: 1
Oleg Komarov
2012년 8월 6일
Please review these guidelines and ask a specific question: http://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers-and-get-a-fast-answer
답변 (4개)
Image Analyst
2012년 8월 6일
1 개 추천
First pick an algorithm from section 23 of the Vision Bibliography: http://iris.usc.edu/Vision-Notes/bibliography/contents.html. Then come back here with your MATLAB coding questions.
Hi every one, I have a license plate, now I want to use horizontal projection to segment the license plate into two lines. Please help me, Thanks you
댓글 수: 1
Image Analyst
2015년 12월 2일
verticalProjection = mean(grayImage, 2);
horizontalProjection = mean(grayImage, 1);
Rujal
2016년 1월 22일
1 개 추천
how to plot horizontal projection horizontally ? I didn't get idea.
댓글 수: 5
Walter Roberson
2016년 1월 22일
h_proj = any(any(YourImage,1),3);
stairs(h_proj);
Image Analyst
2016년 1월 22일
편집: Image Analyst
2016년 1월 22일
Did you see my comment above where I go the mean of each row by averaging all the columns together:
verticalProjection = mean(grayImage, 2);
This is projecting horizontally. If you prefer the sum rather than the average, use sum() rather than mean():
verticalProjection = sum(double(grayImage), 2);
Walter Roberson
2016년 1월 23일
For the purpose of determining occupancy for segmentation of text, you only care if there is or is not data in the row or column, in which case the any() and stairs becomes appropriate. mean() would not be appropriate in such a case: if there only happened to be a single ascender or descender present then the mean would be effectively the background value, but you do not want to cut at such locations for text segmenting.
Image Analyst
2016년 1월 23일
But what if, in handwriting, descenders in one row dip below some risers in the row below? Those two rows would not be detected as two rows with any(). And with sum() and mean(), the descenders would get clipped. So to be really robust, you'd need something more sophisticated than these simple functions. But I can't spend the time to develop a robust OCR program for anyone.
Walter Roberson
2016년 1월 23일
You need the ascenders and descenders for proper classification of the characters. Horizontal projection is simply not sufficient for the case where you do not have clean separation between the lines.
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!