Clear Filters
Clear Filters

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 view (last 30 days)
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

Accepted Answer

Image Analyst
Image Analyst on 3 Aug 2015
It will be trivial for you to adapt one of my attached demos to do that.
  5 Comments
kaavya subramani
kaavya subramani on 4 Aug 2015
Edited: Walter Roberson on 4 Aug 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 on 4 Aug 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()

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!