stright line in one column or raw

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 ?

 Risposta accettata

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 Commenti

so great ... thanks full of sky .
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 il 30 Mar 2015
Modificato: majed majed il 30 Mar 2015
yeah , i mean to replace not to delete cells ,thanks a lot.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by