動画をグレースケールに変更するやり方
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
動画をグレースケールに変更して再生したいのですがやり方が分かりません。お願いします。
I = VideoReader('IMG_2017.2.mp4')
get(I)
implay('IMG_2017.2.mp4');
nframes = I.NumberOfFrames;
R = read(I, 1);
Z = zeros([size(R,1) size(R,2) 3 nframes], class(R));
for k = 1 : nframes
SF = read(I, k);
RG = rgb2gray(SF);
end
implay(RG);
0 Kommentare
Antworten (1)
Kei Otsuka
am 21 Nov. 2017
ループ文の中でグレースケールに変更するところまでは既にできているようなので、 あとは可視化してあげれば完成です。imshowでも良いですし、ビデオプレーヤーオブジェクトを使用しても可視化できます。
v = VideoReader('IMG_2017.2.mp4');
p = vision.VideoPlayer;
while hasFrame(v)
vidFrame = readFrame(v);
gray = rgb2gray(vidFrame);
p(gray)
end
2 Kommentare
Kei Otsuka
am 21 Nov. 2017
for文にしたい理由はインデックスを使いたいということでしょうか。
v = VideoReader('ecolicells.avi');
p = vision.VideoPlayer;
nframe = round(v.Duration*v.FrameRate);
for i = 1:nframe
vidFrame = readFrame(v);
gray = rgb2gray(vidFrame);
p(gray)
end
のように使うか、while文のままでもインデックスを表す変数を作れば使えると思います。
v = VideoReader('IMG_2017.2.mp4');
p = vision.VideoPlayer;
idx = 1;
while hasFrame(v)
vidFrame = readFrame(v);
gray = rgb2gray(vidFrame);
p(gray)
idx = idx + 1;
end
imcrop利用時のエラーは、どのような使い方をしているかわからないので コメントが難しいです。 少なくともエラーメッセージを添付するか、現在試されているスクリプトを添付しないと 良い回答は得られないですよ。
Siehe auch
Kategorien
Mehr zu イメージ タイプの変換 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!