Matlab と Kinect プログラミングは初めてです。コードの 162 行目から 155 行目まで苦労しましたが、行き詰まってしまいました。助けていただければ幸いです。
色ストリームと深度ストリームの両方を記録して、後でテストするたびにライブでストリーミングすることなく画像処理できるようにしようとしています。カラー ストリームは管理できましたが、深度ストリームはより難しいようです。
「hgMovie の使用中にエラーが発生しました。ムービー cdata は uint8 配列のタイプである必要があります」
line depthMov=uint8(depthMov); を使用してみました。あるフォーラムで提案されているように、「構造体からuint8への変換は不可能です」という他の提案がありますか? 以下は、私が使用しようとしているコードのスニペットです。
depthVid=videoinput('kinect',2,'Depth_640x480');
set(depthVid, 'LoggingMode', 'Disk&Memory');
depthLogfile = VideoWriter('depthlogfile.mj2'), 'Motion JPEG 200');
depthVid.DiskLogger = depthLogfile;
triggerconfig(depthVid, 'manual');
set(depthVid, 'FramesPerTrigger',inf);
start(depthVid);
pause(20);
trigger(depthVid);
[depthFrameData, depthTimeData, depthMetaData] = getdata(depthVid);
stop(depthVid)
depthPlayback=Video('depthlogfile.mj2');
dFrames=depthPlayback.NumberOfFrames;
dheight=depthPlayback.Height;
dWidth=depthPlayback.Width;
depthMov(1:dFrames)=struct('cdata,zeros(dHeight,dWidth,3,'unit8'),'colormap',[]);
for k = 1:dFrames
depthMov(k).cdata=read(depthPlayback,k);
end
hf2 = figure;
set (hf2,'position',[150 150 dWidth dHeight])
%depthMov = uint(depthMov); % failed conversion
movie(hf2,depthMov,1,depthPlayback.FrameRate); %Line I am getting the error
事前に助けやアドバイスをありがとう。