如何在MATLAB中使用“set”功能显示/更新黑白图像

时间:2017-03-21 11:40:06

标签: matlab image-processing matlab-figure colormap

我正在进行视频处理项目,使用以下代码处理和显示和更新图像:

ActiveWorkbook.Sheets("YourSheet").Protect Password:="123", UserInterfaceOnly:=True

输出图像为蓝色和黄色,而不是黑色和白色。在线说明当hFigure=figure(1); set(hFigure,'Position', [50, 250, 400, 300]); IM1=getdata() % get frame from video object %initialise figure(1) handles=image(IM1); IM1=binarize(IM1); Loop %update frame IM1=getdata() % get frame from video object IM1=binarize(IM1); set(handles,'CData',IM1); end loop CData时,输出颜色为RGB;当uint8时,输出将是B& W.任何机构都可以告诉我如何将logical设置为CData类型吗?或者,你知道解决这个问题的其他方法吗?

1 个答案:

答案 0 :(得分:2)

如果CDataM x N x 3,则显示的数据仅为RGB。如果它只是M x N,它将使用轴显示#{1}}。而是色彩映射。在您的情况下,它使用默认的色彩映射(parula),因此您希望将输入转换为RGB或使用gray色彩图显示黑白图像。

RGB方法

set(handles, 'CData', repmat(IM, [1 1 3]))

色彩映射方法

hFigure = figure(1);
set(hFigure,'Position', [50, 250, 400, 300]);

IM1 = getdata()  % get frame from video object

handles = image(IM1);
colormap(hFigure, gray(2))