How to draw a horizontal line passing through the given points?

2 views (last 30 days)
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
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
Image Analyst
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.

Sign in to comment.


Image Analyst
Image Analyst on 18 Dec 2015
You might want to look at Brett's File Exchange submission: http://www.mathworks.com/matlabcentral/fileexchange/48466-text-recognizer

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!