Video with horizontal lines
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
I have 2000 TIF images and I want to create a video with these images. I want to draw three horizontal lines and write some text that appears in all the frames of the video. Any help on how to do this?
採用された回答
darova
2019 年 8 月 27 日
Look for VideoWriter
8 件のコメント
Tomer
2019 年 8 月 31 日
I loked at it and didn't succeed. Can you help me with the code? I want to create a video of 1000 TIFF images which are in a folder (the names of the images are F_001, F_002....,F_1000). I want to make a video with these images and want to add 3 horizontal lines at different positions.
darova
2019 年 8 月 31 日
Sure, here is an example
clc,clear
aviobj = VideoWriter('test.avi');
aviobj.FrameRate = 1; % frames per second (speed)
open(aviobj);
for i = 1 : 6
I = imread([num2str(i), 'Untitled.png']); % read image
imshow(I) % show image
M = getframe;
writeVideo(aviobj,M); % add frame to video
% pause(1);
end
% get(aviobj)
close(aviobj);
I also attached images i used and video i get
I have used your code with its path in the same folder in which, the images are located. The names of images are like F_001, F_002, .......F_2000. Unfortunately, it doesn't work and it creates a video file without any F series images. I don't know much about MATLAB. I think, I am making some mistake. Could you please help me rectifying it.
darova
2019 年 8 月 31 日
Try
[h,w] = size(I);
imshow(I)
hold on
plot([0 w], [h h]*1/4,'r'); % add line at height (1/4)*h
plot([0 w], [h h]*2/4,'r');
plot([0 w], [h h]*3/4,'r');
text(w/2,h/2,'SOME TEXT')
hold off
darova
2019 年 8 月 31 日
Can you please show the script you used? What did you change?
Tomer
2019 年 9 月 1 日
clc;clear all;
Images=dir('M:\Fish_Video\cam1\*.tif');
outDirectory='M:\Fish_Video\cam1_horizontal lines\';
aviobj = VideoWriter('test.avi');
aviobj.FrameRate = 1; % frames per second (speed)
open(aviobj);
for i = 1 : 100
I = imread([num2str(i), 'F.tif']); % read image
imshow(I) % show image
M = getframe;
writeVideo(aviobj,M); % add frame to video
% pause(1);
end
% get(aviobj)
close(aviobj);
darova
2019 年 9 月 1 日
You said that your images are: F_001, F_002, .......F_2000
This line means: 1F.tif, 2F.tif, ... 100F.tif
I = imread([num2str(i), 'F.tif']); % read image
Use this line
s = sprintf('%04dF.tif',i);
I = imread(s);
Show the error occurs
darova
2019 年 9 月 8 日
How it is going. Did this help?
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Video Formats and Interfaces についてさらに検索
参考
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
