First i need to divide a binary image into 8x8 block.Second, in all blocks,check if number of 1s is larger than 0s,if larger number of 1s,then i need to convert all 0s to 1s,else convert all 1s to 0s.

1 visualizzazione (ultimi 30 giorni)
using blockprocess,a binary image is divided into 8x8 blocks,then check all blocks that whether number of 1s is larger than number of 0s,if so then convert all 1s to 0s otherwise 0s to 1s in all blocks

Risposta accettata

Image Analyst
Image Analyst il 3 Ago 2015
It will be trivial for you to adapt one of my attached demos to do that.
  5 Commenti
kaavya subramani
kaavya subramani il 4 Ago 2015
Modificato: Walter Roberson il 4 Ago 2015
Please correct my function sir:
function [nb nw]=count(block_struct)
block = block_struct.data;
nb=sum(block(:));
nw=numel(block(:,:))-nb;
if nb > 32
nw==0;
else
nw==1;
end
end
Walter Roberson
Walter Roberson il 4 Ago 2015
nw==0; is not an assignment statement.
Your function count needs to return a single variable, not two variables.
According to your initial requirements, the single variable needs to be the same size as the original block. Consider using zeros() and ones()

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by