HOW TO SEGMENT TWO OVERLAPPING CHARACTERS USING CURVED LINE SEGMENTATION?
이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
이전 댓글 표시
hello everyone! Can anyone help me or guide me through segmentation of overlapping characters?

Straight segmentation is not an option as some part of the characters will be lost. thank you!
채택된 답변
Image Analyst
2014년 3월 29일
I'm sure this has already been figured out before and published here: http://iris.usc.edu/Vision-Notes/bibliography/contentschar.html#OCR,%20Document%20Analysis%20and%20Character%20Recognition%20Systems Find the paper and code it up.
Whatever I suggest might not be the best approach. But just to toss a few ideas out there...
You could find the shortest path from top to bottom using bwdistgeodesic. See Steve's blog: http://blogs.mathworks.com/steve/2011/11/01/exploring-shortest-paths-part-1/
You could use "seam carving" - Google it.
You could try to connect nearby blobs using a tall, narrow kernel and imclose. Then do connected components labeling with bwlabel. Then AND those blobs with the original image.
댓글 수: 9
soumyadeep
2014년 3월 29일
편집: soumyadeep
2014년 3월 29일
sir, i am new to matlab and i am using matlab 7.6.0 R2008a. The function bwdistgeodesic doesnt seem to work for this version of Matlab. Can you explain more on the connected component labeling and AND-ing the blobs with original image. If you have any code regarding this please send it to me. thank you for your time.
Connected component labeling tags each pixel that is in a connecting "blob" with the same number. If each character was all connected, then it would have the same number of all pixels in it, in the labeled image. If a character was separated, like i or j, then will will have two numbers - one number for the "body" of the i or j, and a different number for the dot above.
sir, my question was how connected component analysis and then AND-ing it with the original image will help me segment the overlapping characters?
Let's say your letters are i and k. If you do labeling on the original binary image, you'll find there are 3 blobs there: 1 is the body of the i, 2 is the dot above the i, and 3 is the k. Now run imclose() to connect nearby objects and label that. You'll now have two blobs: 1 is the label of the merged i, and 2 is the k. Now you can extract the letters one at a time using ismember on the labeled image. So now you have two images, one with the closed i, and one with the closed k. But the closed i is all rounded out and has the dot connected to the body, which you don't want anymore. So you AND it with the original binary image to extract out the original i with dot. Now you can do OCR on just that one character in its original form/shape.
ah... ok... thats a neat idea!! thank you!! i will try that and let you know!! :)
ITS WORKING PERFECTLY ,SIR!! THANK YOU VERY MUCH!! :)
Hello Soumyadeep, Can you please give me your code. My id is honeypatel1992@yahoo.co.in.Please give it to me.Thank you
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Image Segmentation에 대해 자세히 알아보기
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
