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 ?

 Réponse acceptée

Image Analyst
Image Analyst le 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 commentaires

majed majed
majed majed le 15 Mar 2015
so great ... thanks full of sky .
majed majed
majed majed le 15 Mar 2015
what if i want to delete the other cells which exist to the side of the new line ?
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 le 30 Mar 2015
Modifié(e) : majed majed le 30 Mar 2015
yeah , i mean to replace not to delete cells ,thanks a lot.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by