如何填充浅黄色到深黄色的渐变色?

时间:2016-10-19 13:53:29

标签: matlab colors

enter image description here 使用matlab,我不知道补丁如何在这张照片中垂直制作渐变色。在这里,我只想要一个简单的颜色渐变。我使用bwboundaries来捕获边缘函数并填充纯色,如下所示:

for i=1:4
  input=imread(['heartspline2_4_',num2str(i)],'bmp');  
  figure,imshow(input);
  BW=im2bw(input,graythresh(input));
  [B,L]=bwboundaries(BW,'noholes');
  for k=1:length(B)
      boundary=B{k};
      plot(boundary(:,2),boundary(:,1),'k','LineWidth',2);
      fvc=[1 1 0;1 0 0;0 0 1];
      hold on;
      axis off;
      if (k==1)
          patch(boundary(:,2),boundary(:,1),'w');
      else
          p=patch(boundary(:,2),boundary(:,1),'y');
      end
  end
      saveas(gca,['y_','heartspline2_4_',num2str(i)],'bmp')
      close(gcf)
end

1 个答案:

答案 0 :(得分:4)

Following Shai's code在你的另一个问题中回答:

V

如果您正确理解了代码,则可以对垂直渐变进行操作。我不小心做了横向,但应该没事。该代码已被评论,但请不要犹豫。步骤如下

  • 根据需要创建随机颜色。在这种情况下2
  • 转换为HSV
  • 创建一系列pub值,代表" light"
  • 为图像上的每一行重复该颜色列表
  • 使用标签对其进行遮罩,只需将其添加到该标签的区域
  • 即可

enter image description here