MATLAB Answers

Raldi
0

Create black columns/rows in image.

Asked by Raldi
on 26 Feb 2015
Latest activity Commented on by Raldi
on 26 Feb 2015
Hi everyone,
I have an image and I want to only keep visible small patches of lets say 8x8 alternatively.
So I start at the beginning keep the first 8x8 patch, move right, make black the next patch, and so on until the end.
After that I move to the next row and I make the first patch black since we kept the one above it.
Moving like this I create a sort of a check board where the white parts have my original image.
What I did till now is
for ii = 1:it
Image = Image(1:step:end, 1:step:end);
end
After that I create a matrix of zeros at the dimensions of my original image and paint my under-sampled image
imageNew(1:step:end, 1:step:end) = Image;
This does not create the check-board effect though and I don't even know if it is good enough regarding the time it needs to run.
Has anyone any idea of how to go on about doing this?

  0 Comments

Sign in to comment.

2 Answers

Answer by Guillaume
on 26 Feb 2015
 Accepted Answer

I would do it like this:
pattern = zeros(11, 10); %number of rows must be odd
pattern(1:2:end) = 1;
mycheckerboard = imresize(pattern, 30, 'nearest');
imshow(mycheckerboard)

  3 Comments

Raldi
on 26 Feb 2015
Hi Guillaume, this creates an actual check board image. What I want is instead of having the white parts, having what my image was supposed to have at those parts..
Guillaume
on 26 Feb 2015
Oh, sorry misunderstood. Just to this then:
mycheckerboard = imresize(pattern, size(myimage), 'nearest');
myimage = immultiply(myimage logical(mycheckerboard));
Raldi
on 26 Feb 2015
I am accepting this answer since it will help whoever read this to acieve what he want faster.

Sign in to comment.


Answer by Image Analyst
on 26 Feb 2015

Why not simply use the checkerboard() function?????

  3 Comments

Raldi
on 26 Feb 2015
No idea such a thing existed. Yet if possible I was more interested to do it myself not with a function by matlab.
Then I'd just create one line then use repmat twice. I would not use Image as the name of a variable since image() is the name of a built-in function.
Raldi
on 26 Feb 2015
I will try both suggestions and see how they work. Thanks for your time.

Sign in to comment.