2012-02-20 2 views
1

я запускаю этот код в MATLAB, но он возвращает Cyan кадрgetsnapshot возвращает экран голубого цвета

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

ответ

1

Добавление obj.ReturnedColorSpace = 'rgb'; во второй строке решить ее.

1

Возможно, проблема связана с вводом команды image.

Попробуйте запустить

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

И посмотреть, что результаты.

Двойные значения должны быть между [0-1], тогда как uint8 должно быть в диапазоне от [0-255].

+0

'ans = uint8 ans = 136 ans = 18' – Maysam

Смежные вопросы