填充一个特定区域的颜色

74(30天)
med-sweng
med-sweng 2013年8月5日
评论道: 图像分析 2020年9月4日
有一种MATLAB来填补一个特定地区一些颜色吗?我看着roifill,但不清楚如果它工作吗?我选择区域,但不知道可以指定颜色。
谢谢。

答案(3)

图像分析
图像分析 2013年8月5日
试试这个演示:
%演示用户徒手画一个形状不规则的灰度图像。
%然后它创建新的图像用一种特定的颜色在画的形状。
clc;%明确命令窗口。
清晰;%删除所有变量。
关闭所有;%关闭所有除由imtool图窗口。
imtool关闭所有;%由imtool关闭所有图窗口。
工作空间;%确定工作区面板显示。
字形大小= 16;
%读入一个标准的MATLAB灰度图像演示。
文件夹= fullfile (matlabroot,“\工具箱\ \ imdemos图像”);
baseFileName =“cameraman.tif”;
%得到完整的文件名,路径前缀。
fullFileName = fullfile(文件夹,baseFileName);
%检查文件是否存在。
如果~存在(fullFileName“文件”)
%文件不存在,没有发现它。检查它的搜索路径。
fullFileName = baseFileName;%没有路径。
如果~存在(fullFileName“文件”)
%仍然没有找到它。提醒用户。
errorMessage = sprintf (的错误:% s在搜索路径的文件夹不存在。,fullFileName);
uiwait (warndlg (errorMessage));
返回;
结束
结束
grayImage = imread (fullFileName);
(行、列,numberOfColorChannels) = (grayImage)大小;
imshow (grayImage []);
;
标题(的原始灰度图像,“字形大小”、字形大小);
集(gcf,“位置”get (0,“拉”));%最大化图。
消息= sprintf (“左点击并按住开始绘画。\ nSimply抬起鼠标按钮来完成的);
uiwait(对话框(消息));
仁人家园= imfreehand分部();
%创建一个二进制图像(“面具”)从ROI对象。
binaryImage = hFH.createMask ();
xy = hFH.getPosition;
%现在让它小所以我们可以展示更多的图片。
次要情节(2 2 1);
imshow (grayImage []);
;
drawnow;
标题(的原始灰度图像,“字形大小”、字形大小);
%显示徒手画的面具。
次要情节(2,2,2);
imshow (binaryImage);
;
标题(“该地区的二元掩模”,“字形大小”、字形大小);
%如果是灰度,颜色转换
如果numberOfColorChannels < 3
rgbImage =猫(3 grayImage grayImage grayImage);
其他的
%的RGB图像。
rgbImage = grayImage;
结束
%提取个人红、绿、蓝通道。
redChannel = rgbImage (:: 1);
greenChannel = rgbImage (:: 2);
blueChannel = rgbImage (:: 3);
%指定颜色,我们想让这个区域。
desiredColor = (146, 146);%的紫色
%的红色通道的颜色
redChannel (binaryImage) = desiredColor (1);
greenChannel (binaryImage) = desiredColor (2);
blueChannel (binaryImage) = desiredColor (3);
%重组不同颜色通道成一个单一的、真彩色RGB图像。
rgbImage =猫(3 redChannel greenChannel blueChannel);
%显示图像。
次要情节(2、2、3);
imshow (rgbImage);
标题(“图像与彩色面具内部地区”,“字形大小”、字形大小);
7评论
图像分析
图像分析 2020年9月4日
尝试imoverlay ()。

登录置评。


苏珊
苏珊 2013年8月5日
是的,roifill将填补一个地区和一些颜色,但是你必须指定的颜色画出该地区在图像后,再双击完成。以下来自roifill帮助文件”改变多边形的颜色:地区内的指针移动。右键单击并从上下文菜单中选择设置颜色。”
另一种方法可以做到这一点,我更喜欢,使用补丁对象。要做到这一点,看到的 http://blogs.mathworks.com/steve/2008/08/20/image-visualization-using-transparency/ 。博客描述如何使用补丁对象覆盖地区的形象,但是你可以替换所选地区与彩色图像ROI使用相同的方法。

莎拉Macchiavello
莎拉Macchiavello 2020年9月2日
Goodmorning,
我发现你的问题也很有帮助为我的项目,但我想问你,如果在该地区我能修改对比,饱和度和亮度是可能的。你知道有可能获得这种效果吗?
我也尝试和roipoly drawfreehand但我不能obtaint这个结果。
谢谢你!
4评论
莎拉Macchiavello
莎拉Macchiavello 2020年9月3日
非常感谢石头!
这工作,我理解如何应用这也为其他转换,我不得不做。
我想问你别的东西,因为现在我需要一个结果少夏普和标记的边缘不规则区域,获得更多的褪色的原始图像和修改之间的过渡区域。有办法获得这个更现实的结果吗?

登录置评。

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!