Azzera filtri
Azzera filtri

This image correspond to a specimen deformed in the vertical direction. Would you have any suggestion to lift deformed pixels and make a "perfecly horizontal block"

1 visualizzazione (ultimi 30 giorni)
NOTE: A mask can be easily created. Thank you.

Risposta accettata

Image Analyst
Image Analyst il 20 Dic 2016
Just go along your mask finding the top line, then use circshift or imtranslate or simple indexing to lift the line.
[rows, columns] = size(mask);
for col = 1 : columns
thisColumn = grayImage(:, col);
topLine = find(mask(:, col), 1, 'first');
thisColumn = [thisColumn(topLine:end), zeros(topLine-1, 1)];
grayImage(:, col) = thisColumn;
end

Più risposte (1)

Santi
Santi il 21 Dic 2016
Modificato: Santi il 21 Dic 2016
Thank you for this great approach; worked and very easy to understand.
Best regards

Categorie

Scopri di più su Convert Image Type in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by