如何在灰色图像中添加颜色
Posted
技术标签:
【中文标题】如何在灰色图像中添加颜色【英文标题】:How can I add the color in the gray image 【发布时间】:2015-12-17 15:51:20 【问题描述】:我有一张灰色的图像。我想在图像中添加两个标记。其中,标记为蓝色标记,颜色代码(0000FF)
,其他标记为红色标记FF0000
。你能帮我用 MATLAB 在灰色图像中添加这个标记吗?请注意,每个标记的形状都是矩形。谢谢
这是我的输入和我的预期输出
原图可以在here下载
【问题讨论】:
见rectangle
。
【参考方案1】:
使用矩形函数应用蒙版。现在要以所需大小保存图形,您可以将 PaperPositionMode
设置为 manual
并获得所需的图像大小。下面的代码还展示了以不同格式保存图形的不同方法。
[A, cmap1] = imread('11.bmp');
imshow(A,cmap1);
hold on;
rectangle('Position',[45,45,20,10],'EdgeColor','r','FaceColor','r');
hold on;
rectangle('Position',[50,80,30,10],'EdgeColor','b','FaceColor','b');
hold off;
f = getframe();
imwrite(f.cdata,'myfigure.bmp');
这是生成的图像:
【讨论】:
恭喜获得第一名! :) 感谢 Sayantan Ghosh 提供您的代码。但是,如何将其保存为与输入图像大小相同的输出图像 @xen:输出大小为 1125 938 3,同时输入大小为 93x118。如何制作 93x118x3 或 118x93x3? @user3051460:你说得对,保存整个图形会改变输出大小,可以通过玩'PaperSize'
和'PaperPosition'
来控制。但更简单的 hack 是在hold off
之后获取帧,然后使用imwrite
。我已经相应地编辑了答案。
@user3051460:我相信你能处理好。【参考方案2】:
使用计算机视觉系统工具箱中的insertShape
函数。
【讨论】:
以上是关于如何在灰色图像中添加颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何在opencv中为图像添加边框,边框颜色必须与图像颜色相同