You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何修改Matlab中insertShape函数的图形颜色?

如何修改Matlab中insertShape函数绘制图形的颜色

嘿,很高兴能帮你搞定这个问题!其实你给出的示例代码里已经用到了一种正确的颜色设置方法,不过我再给你梳理所有可用的方式,让你能更灵活地调整图形颜色:

1. 使用RGB归一化数组(你当前的方式)

这是最常用的自定义颜色方式,RGB三个通道的值都取0到1之间的小数,分别对应红、绿、蓝的强度。比如你代码里的[0.6 0.8 0]就是一种偏黄绿的橄榄色。
你只需要把想要的RGB值赋值给变量,再通过'Color'参数传入insertShape即可,建议给变量加个分号避免控制台冗余输出:

colorCode = [0.6 0.8 0]; % 加个分号让控制台更整洁

2. 使用预定义颜色名称

Matlab内置了一系列常用颜色的名称字符串,直接传入'Color'参数即可,不需要手动计算RGB值。比如:

% 修改你的代码,把Color参数换成颜色名称
I= insertShape(I,'FilledCircle',[x y r],'LineWidth',1, 'Color', 'red', 'Opacity', 1);

常用的预定义颜色有:'red''blue''green''yellow''black''white''cyan'等。

3. 使用十六进制颜色代码(Matlab R2019b及以上支持)

如果你习惯用设计场景里的十六进制颜色码,也可以直接传入带#前缀的字符串,比如:

% 用十六进制的珊瑚橙
I= insertShape(I,'FilledCircle',[x y r],'LineWidth',1, 'Color', '#FF7F50', 'Opacity', 1);

这种方式能精准匹配你想要的任意颜色,非常适合需要和设计稿对齐的场景。

完整修改示例(用颜色名称的版本)

clc; clear; 
I = imread('peppers.png'); 
imshow(I); 
r=20;
button = 1; 
while sum(button) <=1 
    [x,y,button] = ginput(1); 
    % 直接使用预定义颜色名称
    I= insertShape(I,'FilledCircle',[x y r],'LineWidth',1, 'Color', 'blue', 'Opacity', 1); 
    imshow(I); 
end

内容的提问来源于stack exchange,提问作者wrek

火山引擎 最新活动