Я думаю, что это задача в классе программирования о том, как использовать циклы. Я не буду писать код для вас, но вместо этого помогу вам с вопросом. Давайте начнем с более простой задачи: зеленый верхний левый и оставшийся желтый.
Сначала возьмем флаг того размера, который вы намереваетесь нарисовать, и проверьте, где находится граница зеленого сечения для следующего цвета. Укажите начало и конец своей строки и запишите позиции. У вас есть (x1, y1) и (x2, y2). Вычислите уравнение для линии из этого и приведите его к чему-то вроде x + a * y + b = 0, где a и b - вычисленные вами числа.
Это говорит о том, какие точки находятся на линии. Вы хотите различать guish между левым и правым, поэтому вы проверяете, больше или меньше нуля. Пример с a = 2 и b = 100, чтобы показать вам, как будет выглядеть код:
for i=1: 300
for j=1 : 350
if (i+2*j-100<0)
a(i,j,1)=52;
a(i,j,2)=235;
a(i,j,3)=76;
end
end
end
imshow(a);
После того, как вы выясните это, вставьте elseif для границы между черным и желтым, чтобы нарисовать первый желтая полоса Затем продолжите для каждой полосы.