2016-08-19 16 views
-1

このコードはMATLABでのビデオ処理のためのコードで、最初のループで問題があります。私は、問題が何であるか知らないが、MATLABが与えるエラーは次のとおりです。MATLAB - ビデオ処理

割り当てfi(ライン34)

で複数の非シングルトンRHS寸法非シングルトン添字より

エラーを持っていますここで

data(:,:,f) = I;

私のコードです:

clc; 
close all; 
clear all; 

It1c = imread('\\icnas1.cc.ic.ac.uk\fi15\Desktop\frames\Frames_V11\051.png'); 
It600c = imread('\\icnas1.cc.ic.ac.uk\fi15\Desktop\frames\Frames_V11\009.png'); 

resf = 0.27e-6; 
fr_r = 12000; %frame rate = 12000 fps 

figure(); 
imagesc(It1c); 

figure(); 
imagesc(It600c); 

listing = dir('\\icnas1.cc.ic.ac.uk\fi15\Desktop\frames\Frames_V11\*.png'); 
N = 51; 
data = zeros(624,1024,N); 

for f = 1:N, 
    f 

    I = imread(['Frames_V11\',fullfile(listing(f).name)]); 
    data(:,:,f) = I;  
end 

figure; %see frames 
for i = 1:N, 
    imagesc(data(:,:,i)); 
    colorbar; 
    pause(0.1); 
end 

figure; %see frames 
for i = 1:N, 
    imagesc(data(:,:,i)-data(:,:,1)); 
    colorbar; 
    pause(0.1); 
end 

for i = 1:N, 
    i 
    data2(:,:,i) = data(:,:,i)-data(i); 
end 

figure; %see frames 
for i = 1:N, 
    imagesc(data2(:,:,i)); 
    colorbar; 
    pause(0.1); 
end 

figure; 
imagesc(squeeze(mean(data2(230:270,:,:),1))); 

figure; 
plot(squeeze(mean(mean(data5(210:235,395:425,:),1),2))); 

答えて

0

[nRows, nCols, nChannels]ここで、nChannelsは3と思われます。エラーは、この3Dマトリックスをdataの2Dスライスに割り当てようとしているためです。

したがって、3番目のディメンションではなく4番目のディメンションに沿ってすべてのイメージを連結する必要があります。

data = zeros(624, 1024, 3, N); 

for f = 1:N 
    data(:,:,:,f) = imread(['Frames_V11\',fullfile(listing(f).name)]); 
end 
関連する問題