我正在进行视频处理项目,使用以下代码处理和显示和更新图像:
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
类型吗?或者,你知道解决这个问题的其他方法吗?
答案 0 :(得分:2)
如果CData
为M 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))