getsnapshot返回青色屏幕

时间:2012-02-20 17:32:18

标签: matlab

我在MATLAB中运行此代码,但它返回一个Cyan框架

obj = videoinput('winvideo', 1);

% Select the source to use for acquisition. 
set(obj, 'SelectedSourceName', 'input1')

% View the properties for the selected video source object.
src_obj = getselectedsource(obj);
get(src_obj)

% Acquire and display a single image frame.
frame = getsnapshot(obj);
image(frame);

% Remove video input object from memory.
delete(obj);

但预览视频效果很好。getsnapshot output

2 个答案:

答案 0 :(得分:1)

问题可能在于image命令的输入。

尝试运行

 class(frame)
 max(frame(:))
 min(frame(:))

看看结果如何。

双倍值应介于[0-1]之间,而uint8应介于[0-255].

之间

答案 1 :(得分:1)

在第二行添加obj.ReturnedColorSpace = 'rgb';解决了它。