Borrar filtros
Borrar filtros

How to create a video from grayscale and rgb images?

8 visualizaciones (últimos 30 días)
MatlabUser
MatlabUser el 2 de En. de 2023
Comentada: MatlabUser el 3 de En. de 2023
I have e.g., 20 grayscale frames and 20 RGB color images.
I would like to make a video that has in each frame one grayscale image in the left and one RGB color image in the right.
I am using this code but I get all the frames are black :
vid = VideoWriter(['./video.avi']);
vid.Quality = 100;
vid.FrameRate = 10;
open(vid);
for i = 1: 20
imout = [ cat(3,grayImg(:, :,i),grayImg(:, :, i),grayImg(:, :, i)) zeros( size(grayImg,1), 10, 3) (RGBImg(:, :, :,i)) ];
writeVideo( vid, imout);
end
close(vid);
any help will be appreciated :)

Respuesta aceptada

Image Analyst
Image Analyst el 2 de En. de 2023
Editada: Image Analyst el 2 de En. de 2023
  3 comentarios
Image Analyst
Image Analyst el 2 de En. de 2023
Editada: Image Analyst el 2 de En. de 2023
grayImg is not defined. You need to define it. And when you do this:
for i = 1: 20
imout = [ cat(3,grayImg(:, :,i),grayImg(:, :, i),grayImg(:, :, i)) zeros( size(grayImg,1), 10, 3) (RGBImg(:, :, :,i)) ];
you're assuming grayImg will be a hyperspectral image with 20 color channels, which it's not.
MatlabUser
MatlabUser el 3 de En. de 2023
actually grayImg is defined to be a 3D array Y,X,number of freames...
so when I use for i=1:20, I am iterating on the frames one by one.
it works fine after rescale the grayscale images to range 0,255 :)
thanks.

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by