stright line in one column or raw

1 view (last 30 days)
could any one help me ?
if i have a line as figure shown with pexils which does not exixt in one line (raw or column ) how can i make this line completely stright ? what code i hav to write ?

Accepted Answer

Image Analyst
Image Analyst on 14 Mar 2015
Just get the coordinates
[rows, columns] = find(grayImage < 128);
Then find the max and min:
row1 = min(rows);
row2 = max(rows);
% Find average column
meanColumn = int32(mean(columns));
Then draw the line
grayImage(row1:row2, meanColumn) = 0;
  4 Comments
Image Analyst
Image Analyst on 15 Mar 2015
What "cells"? Do you mean pixels? And what does "delete" mean to you, keeping in mind that an image must remain rectangular. Do you just want to replace them (not delete them) with white pixels? Then why not just draw the line on a completely new white image
whiteImage = 255 * ones(rows, columns, 'uint8');
whiteImage(row1:row2, meanColumn) = 0;
majed majed
majed majed on 30 Mar 2015
Edited: majed majed on 30 Mar 2015
yeah , i mean to replace not to delete cells ,thanks a lot.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!