How to create a binary grating pattern with Matlab?

Hello Everyone,
I want to design several binary grating patterns with matlab. The matrix size is 1920*1080, the period is 4 pixels. The patterns have there direction angle, one is zero, the second is 2*pi/3, the last is 4*pi/3. I tried used square function, but the result is not correct. Does anyone know how to do this?
Thank you very much. Xiaolei

 Accepted Answer

Well... what you could do is do:
I = zeros(1920,1080);
cols = 0:1080-1;
I(:,find(mod(cols,4)<2))=1;
and then use imrotate to get your direction angle.

2 Comments

Hello Joseph, Thank you very much, that's very helpful. But there is a problem when I use imrotate, the matrix will change. I just want the grating pattern direction change while keep the matrix still is 1920*1080. Another question is how can I change the phase of this pattern? Would you please give me some suggestions?
My license for imageprocessing was taken up by someone else so i couldn't try. However reading the documentation it maybe a property that you can set within the imrotate function.

Sign in to comment.

More Answers (0)

Categories

Find more on Aerospace Blockset in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!