how to make pixels to black if it is more or less than threshold

1 view (last 30 days)
sir i have a image of size 320X640 and it has divided into blocks of size 32X64 ie totally i have 100 blocks and and number of black pixel in each block is stored in a matrix (10X10)
now i need to make EACH BLOCK black if number of black pixels in each block is more or less(><)than 211 how can it be done plz help me
  1 Comment
Walter Roberson
Walter Roberson on 7 Mar 2011
That's a peculiar condition. How likely is it that the blocks of your image will have _exactly_ 211 black pixels ??

Sign in to comment.

Accepted Answer

Sean de Wolski
Sean de Wolski on 7 Mar 2011
Call the below function with blkproc:
X = blkproc(I,[64 32],@Black211)
%%Save the below as Black211.m
function out = Black211(in)
%If there are not exactly 211 black pixels; make the whole thing black
is211black = sum(~in(:))==211;
if ~is211black
out = false(size(in));
else
out = in;
end
  4 Comments
Brett Shoelson
Brett Shoelson on 7 Mar 2011
Or...you could use the improvements to BLOCKPROC as a compelling reason (one of many!) to update your MATLABs! :)
Sean de Wolski
Sean de Wolski on 7 Mar 2011
Brett, that could possibly require a walk through this New England downpour to a building about 500ft away. Are the blockproc improvements really that good?!?! ;)

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!