How to draw a horizontal line passing through the given points?
Show older comments
I have a word in which I have the row index of the first black pixel in the column and the row index of the last black pixel in the column. So I want to draw a horizontal line joining all the first black pixels and all the last black pixels so that i can get the size of the word from those lines. Please help me with the code. First pixels

last pixels

Answers (2)
Image Analyst
on 17 Dec 2015
Let's say your image is called grayImage, and that your pixel columns are called "firstPixels" and "lastPixels" and of course you have your row indexes "firstRow" and "lastRow". So then just loop
for k= 1 : length(firstPixels)
% Set row to zero for this word in the first row.
grayImage(firstRow, firstPixels(k):lastPixels(k)) = 0;
% Set row to zero for this word in the last row.
grayImage(lastRow, firstPixels(k):lastPixels(k)) = 0;
end
3 Comments
Meghashree G
on 18 Dec 2015
sir its displaying nothing.should we use plot or something to see the line ?
Image Analyst
on 18 Dec 2015
You have to call imshow() after you change the grayImage variable.
If you don't want lines burned into the image, you can use the line() function to put it into the graphical overlay.
Poornima Gokhale
on 18 Dec 2015
Image Analyst
on 18 Dec 2015
0 votes
You might want to look at Brett's File Exchange submission: http://www.mathworks.com/matlabcentral/fileexchange/48466-text-recognizer
Categories
Find more on Convert Image Type in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!