Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
what's wrong with this code, when i'm trying to read the 3 channels of each frame of the video
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
while i'm reading an RGB video, i wanted to extract for each frame its 3 channels? BUT here results looks weird, any one can Explain to me the reason is? here there is the code i used:
videoReader = vision.VideoFileReader('video3.avi');
J=0;
while ~isDone(videoReader);
J=J+1
frameRGB = step(videoReader);
figure,imshow(frameRGB(:,:,1));
figure,imshow(frameRGB(:,:,2));
figure,imshow(frameRGB(:,:,3));
end
and here there is the three channels extracted:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/154194/image.jpeg)
1 commentaire
John BG
le 6 Fév 2016
please hang the original image in this blog .0 imshow shows 1 layer only input as Black&White. You feed RGB layers and you are seeing the grading of each primary colour, but see the grading in grey, not RGB respectively. Or perhaps your input is Black & White and we, the readers, don't know yet.
Réponses (1)
Walter Roberson
le 6 Fév 2016
videoReader = vision.VideoFileReader('video3.avi');
fred = figure();
axred = axes('Parent', fred);
fgreen = figure();
axgreen = axes('Parent', fgreen);
fblue = figure();
axblue = axes('Parent', fblue);
J=0;
while ~isDone(videoReader);
J=J+1
frameRGB = step(videoReader);
imgR = frameRGB;
imgR(:,:,2:3) = 0;
imshow(imgR, 'Parent', axred); title(axred, 'Red pane');
imgG = frameRGB;
imgG(:,:,[1 3]) = 0;
imshow(imgG, 'Parent', axgreen); title(axgreen, 'Green pane');
imgB = frameRGB;
imgB(:,:,1:2) = 0;
imshow(imgB, 'Parent', axblue); title(axblue, 'Blue pane');
drawnow();
end
0 commentaires
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!