How to create a chessboard?
이전 댓글 표시
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 = 7680x4320
4k = 3840x2160
1080p = 1920x1080
Thank you very much in advance.
댓글 수: 1
You don't need loops to generate that chessboard, e.g.:
I = 1-2*kron(toeplitz(mod(1:C,2),mod(1:F,2)),ones(fix(M/C),fix(N/F)))
or use repelem instead of kron.
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Get Started with Statistics and Machine Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!