How to removed the ??? Reference to non-existent field error

14 views (last 30 days)
function bgs = ComputeSilhouettes_ABC2(frame,img)
global PRM; persistent BG_STATS LAST_SEQ;
if isempty(LAST_SEQ), LAST_SEQ = -1; end
if PRM.SEQ ~= LAST_SEQ fprintf('Loading background statistics '); tic;
SN = get(PRM.datasetObj,'SubjectName'); SN = SN{1};
bgModelPath = [ABC2_DATASET_BASE_PATH '/' SN ...
for V = 1 : numel(PRM.CAMS)
% load bg_means and bg_vars
BG_STATS{V} = load(sprintf(bgModelPath,...
for M = 1 : numel(BG_STATS{V}.bg_means)
ind = find(BG_STATS{V}.bg_vars{M} == 0.1);
BG_STATS{V}.bg_vars{M}(ind) = 1.0000e-003;
??? Reference to non-existent field 'bg_means'.
Error in ==> ComputeSilhouettes_ABC2 at 28 for M = 1 : numel(BG_STATS{V}.bg_means)
Error in ==> LoadFrame at 61 bgs = ComputeSilhouettes_ABC2(frame,img);

Accepted Answer

Image Analyst
Image Analyst on 9 May 2014
Why are you making it a cell array? Will you need all of them after the loop has finished? If not, then get rid of the braces and have it be just a normal structure. Then use fieldnames() to see what fields it has.

Sign in to comment.

More Answers (1)

Roberto on 8 May 2014
this only means that variable 'bg_means' doesn't exist in your file:
  1 Comment
Sanjay Saini
Sanjay Saini on 9 May 2014
Respected Roberto, bg_means is available in my path directory which i have given as: bgModelPath = [ABC2_DATASET_BASE_PATH '/' SN ... '/Background/Background_(%s).mat']; Both variable 'bg_means' and 'bg_vars' is available inside Background_(%s).mat file and this file path i have given as: bgModelPath = [ABC2_DATASET_BASE_PATH '/' SN ... '/Background/Background_(%s).mat']; But in path directory have 4 camera Background (Background_(C1).mat, Background_(C2).mat, Background_(C3).mat, Background_(C4).mat) and each one contain 'bg_means' and 'bg_vars' so should i give each camera background path??

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by