MATLAB: How to create a chessboard

chessboardimage processingMATLABMATLAB and Simulink Student Suite

I have created a chessboard function that goes from values 1 to -1, where its parameters are M (width of the image), N (height), F (rows), C (columns).
My problem is that for certain values of F and C, the function does not respond to me as it should, resulting in something similar to bands instead of squares. I have reviewed the Matlab documentation and have only seen the checkerboard function, which in my case is not worth it. The code of my function is shown below:
function [a] = chessboard3(N,M,C,F)
L1 = floor(M/C);
L2 = floor(N/F);
k = 1;
for m=1:L1:M
for n=1:L2:N
a(m:m+L1-1,n:n+L2-1)=ones(L1,L2)*(cos(k*pi));
k=k+1;
end
k=k+1;
end
end
The resolutions that I must prove are:
8k = 7680×4320
4k = 3840×2160
1080p = 1920×1080
Thank you very much in advance.

Best Answer

I am assuming that you are using plot function to create the chessboard, which is resulting in bands in the output. Instead of it, use imshow function as following :
M = 7680;
N = 4320;
C = 8;
F = 8;
I = chessboard3(N,M,C,F);
imshow(I);
function [a] = chessboard3(N,M,C,F)
L1 = floor(M/C);
L2 = floor(N/F);
k = 1;
for m=1:L1:M
for n=1:L2:N
a(m:m+L1-1,n:n+L2-1)=ones(L1,L2)*(cos(k*pi));
k=k+1;
end
k=k+1;
end
end
Refer following documentation to know more about imshow function: imshow