2012-10-21 6 views
2

현재 저는 웹캠 프로젝트를위한 matlab을 사용하고 있습니다. 여기 내 코드 :웹캠의 컬러 맵 비디오 캡처

vid = videoinput('winvideo'); 
vidRes = get(vid, 'VideoResolution'); 
nBands = get(vid, 'NumberOfBands'); 
hImage = image(zeros(vidRes(2), vidRes(1), nBands)); 
preview(vid, hImage); 
colormap cool; 

비디오가 웹캠에 그대로 표시되었습니다. 그러나 colormap cool;은 동영상에 아무런 영향을 미치지 않습니다. 나는 더미 imag에 의하여 영상을 대체하는 것을 시도하고 colormap cool;가 효력을 나타낸다.

내 비디오의 색상 맵을 제어 할 수있는 방법이 있습니까?

답변

1

컬러 이미지 (비디오 프레임 포함)는 RG B의 3 개 채널을 사용하여 정의됩니다. 컬러 맵은 1 개의 정보 채널 만 가지고 있고 단일 값을 3 채널 RGB 값에 매핑 할 때 사용됩니다. 예를 들어

:

img1 = rand(20,20,3); 
imagesc(img); 
colormap hot; % This does nothing because the image has 3 channels 

img2 = rand(20,20); 
imagesc(img); 
colormap hot; % This works because a colormap is being used to map the 1 channel to a color 

당신이 중 하나를 R, G, 또는 B 채널을 선택하거나 여러 채널의 조합으로 하나의 채널을 만들 수는있을 것이다 비디오의 색상 맵을 사용하려면 .

+0

대단히 감사합니다. 고맙게 생각합니다. 다중 채널의 조합으로 단일 채널을 생성하기위한 샘플 코드를 요청해도 괜찮습니까? – dmfrl

+1

@dmfrl : http://stackoverflow.com/questions/3547029/how-do-i-display-the-red-channel-of-an-image-in-matlab 또는 http://www.mathworks.com/ matlabcentral/newsreader/view_thread/283668 – slayton

+0

대단히 감사합니다. – dmfrl